» »

Win32 API in C++

Win32 API in C++

Monster ::

em... pac zelim narediti RICHTEXT kontrolo pa mi je pod common controls oz pod navadne windows kontrol e noce nardit...

k amoram za tokej includat tk ko za common controlse cmmctrl.h pa to... Gledal sem neki MSD pa nc ne pise glih...

pac..

hwnd = createwindow ( "RICHTEXT", ...

to naj bi blo to sm ni... prosim z apomoc... lp :)
Ka zaboga...

zdravcc ::

Rich text se nisem probaval, ampak to bi moralo delovat.
Kaj ti izpise?

Monster ::

ja se nc ne napise nc ne naredi... tk kot da ni nc... naredi formo in ce dam tm EDIT ne pol naredi ce pa dam richtext(pac tale class) pa ni nc.. nc in se enkrat nc
Ka zaboga...

Senitel ::

Arm, "RichEdit" mogoče :D?

zdravcc ::

Ne vse komponente so zapisane z velikimi crkami, vsaj te, ki jih jaz poznam.
Povej mi ce ti vrze kako errorko al ti ga samo enostavno ne naredi?

zdravcc ::

Drgac pa probaj z MFC, pa ne avtomatizacijo, ampak ga samo includaj in pisi.

zdravcc ::

probaj :
krnekiHandle = CreateWindowEx(......................);
it might work, dokumentacijo si poglej v MSDN.

Monster ::

se sem probu pa tud vlkeZaCeTnicE sem prav napisu .. pa mi noce nc narisat... MFCja pa ne bi a veš... :)
Ka zaboga...

cyer^3d ::

oy

Kot class das "RICHEDIT20A"
Preden poklics CreateWindow moras explicitno zlinkat .dll v katerem se nahajajo funkcije ... ime dllja je RichEd20.dll uporabs pa LoadLibrary funkcijo.

Ce nimas tega .dll si updejti winse or sth, pa pozoren bodi katero verzijo dllja uporabljas (1.0,2.0,3.0) od tega je tudi odvisno koliko podpore raznim funkcijam imas.

Monster ::

no zdej dela... HvAlA

neki se kk se ze includa .lib fajle med runtimom.. mislim na zacetku kode

#pragma comment(...kaj tu pride... )

em sm neki... kk pa pol naredi sliderja oz sm veertikalnega lslajderj ob strani tkda bibil siv.. ce dam lastnost ES_VERTICAL al kk pacje mi napise error da te lastnoti ni.. pa pise v MSDNju da je ...
Ka zaboga...

Zgodovina sprememb…

  • spremenil: Monster ()

Senitel ::

#pragma comment(lib,"jupija.lib")

ES_VERTICAL Draws text and objects in a vertical direction. Available for Asian-languages only.
ES_AUTOVSCROLL bi mogu bit taprav.
Pa kaj si naredu, da ti zdej dela?

Monster ::

aham okej...

ka sem naredu... on dll file sm pogledu kerega mam pac pod C.\windows -> serch :) dal LoadLibrary("riched20.dll") oz tist ka mam pa pol dal on class ko ga je on gore napisu RISCH20A al kkje

tk da zdej dela sm one ES_lastnosti nekak ne delajo :) pa nevem.... mam se rich30.dll file sm je sm 4kb velik on riched20.dll pa 0.5mb :() ka zdej to pomen novejsa kontrola manj zasede.. no ni vazen...

no sm je nastal nek nov problem... kr naenkrat mi noce vec load commodl.lib (neki tazga je)... sem ga dal pod iskanje pa g ane najde !!!! pa kk je mozno da bi se zbrisal ce sem da mel gore vceri pa sem ga sm includal oz pragma commnet sem v programu.... kam je sol :() mater je

no tule mate kodo celega "projekta"

------------------------------------------------------------------------
/*Super Duper Tekst urejevalnik ver 1.0a*/
/************** PredProcesor ***********************************/


/****************** Includi **************************************/

//Glavni
#include
#include

//Programski(se nahajajo v direktoriju programa)
//#include "SDT_Info.h"

//Ostali

/**************** Definicije in konstante **********************/
//Definicja kontrol
#define IDC_RTFTEKST 1001


/******************* Prototipi funkcij *************************/

//Glavne(win32API)
LRESULT CALLBACK WndProc( HWND, UINT, WPARAM, LPARAM );

//Ostale


/******************* Glavna funkcija ***************************/
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nShowCmd )
{

//Spremenljivke
WNDCLASSEX wc;
MSG msg;
HWND FrmSDT;
//Kontrole, ki jih dodamo(gumbi, editi, ipd)
HWND RtfTekst;

//Loadanje potrebnih .dll filov
if( ( LoadLibrary( "riched20.dll" ) ) == NULL )
{
MessageBox( NULL, "Napaka odpiranju DLL datoteke...", "Napaka...", MB_OK | MB_ICONERROR );
return false;
}

//Registracija CommonControls
InitCommonControls();



//Nastavitev okna
wc.cbSize = sizeof( WNDCLASSEX );
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon( NULL, IDI_APPLICATION );
wc.hCursor = LoadCursor( NULL, IDC_ARROW );
wc.hbrBackground = ( HBRUSH )( COLOR_WINDOW+1 );
wc.lpszMenuName = NULL;
wc.lpszClassName = "Cls_SDT_MDI";
wc.hIconSm = LoadIcon( NULL, IDI_APPLICATION );
//Registracija okna
if( !RegisterClassEx( &wc ) )
{
MessageBox( NULL, "Napaka pri registraciji okna...", "Napaka...", MB_OK | MB_ICONERROR );
return false;
}

//nastavitev lastnosti okna
FrmSDT = CreateWindowEx( WS_EX_CLIENTEDGE, "Cls_SDT_MDI", "SDT urejevlanik ver 1.0a",
WS_OVERLAPPEDWINDOW,
0, 0, 500, 500,
NULL, NULL, hInstance, NULL );
if( FrmSDT == NULL )
{
MessageBox( NULL, "Napaka pri kreaciji okna...", "Napaka...", MB_OK | MB_ICONERROR );
return false;
}

//Narišemo še dodatne kontrole
//RichEditBox
RtfTekst = CreateWindowEx( WS_EX_CLIENTEDGE, "RICHEDIT20A", "",
WS_CHILD | WS_VISIBLE | ES_MULTILINE | ES_AUTOVSCROLL ,
0, 0, 200, 200,
FrmSDT, ( HMENU )IDC_RTFTEKST, NULL, NULL );


ShowWindow( FrmSDT, nShowCmd );
UpdateWindow( FrmSDT );

//Message loop
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

return false; //Nepravilen izhod iz programa
}

/******************* Realizacija prototipov ********************/

LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
//glavni message loop.. kontrola messagov
switch( msg )
{
case WM_SIZE:
{
//Handler za kontrole...
HWND hKontrole;

//Tukaj bomo SIZALI(nastavili velikost) vseh kontrol
RECT FrmSDT_Rect;

//Dobimo velikost okna
GetClientRect( hWnd, &FrmSDT_Rect );

//dobimo HWNDje od kontrol
hKontrole = GetDlgItem( hWnd, IDC_RTFTEKST );

//Sedaj pa setiramo velikosti drugih kontrol gllede na okno
SetWindowPos( hKontrole, NULL, 0, 0, FrmSDT_Rect.right , FrmSDT_Rect.bottom, SWP_NOZORDER );
break;
}
case WM_CLOSE:
{
DestroyWindow( hWnd );
break;
}
case WM_DESTROY:
{
PostQuitMessage( 0 );
break;
}
default:
return DefWindowProc( hWnd, msg, wParam, lParam );
}
return false;
}
Ka zaboga...

Zgodovina sprememb…

  • spremenil: Monster ()

Monster ::

btw on ES_AUTOVSCROLL al kkje ne dela.... :)
Ka zaboga...

Monster ::

nozdej dela fora je ba v tem

#pragma commnet( lib, "comctl32.lib" );
:) thaaaaaaaa
Ka zaboga...


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C programiranje (strani: 1 2 3 )

Oddelek: Programiranje
14127703 (17999) amacar
»

C++ programirane v Open GL oz. Direct x

Oddelek: Programiranje
242975 (2246) Vesoljc
»

OpenGL problem

Oddelek: Programiranje
212482 (2048) Gundolf
»

OpenGL orr v ansi c

Oddelek: Programiranje
121637 (1425) igor12
»

DirectX, neki ne gre

Oddelek: Programiranje
61148 (1046) Senitel

Več podobnih tem