Hallå! Arbetar du direkt mot Win32 API, eller använder du dig av MFC, ATL, WTL eller något annat ramverk/klassbibliotek? För att skapa en editbox använder du CreateWindow. Dokumentation finns på http://msdn.microsoft.com/library/default.asp Är väll lite osäker på vad jag använder... fick från början för mig att jag körde ren Win32 API men sen när jag satt och fösökte hitta något på MSDN så fick jag för mig att det var MFC. MSDN tycker jag är helt värdelöst... fattar typ inte ett skit av vad som står där. Inga andra sidor/exempel?? Har du en funktion som heter WinMain? I så fall kör du rent, annars är nog risken stor att det är mfc. Jo jag kör med WinMain... har kollat på relisoft... men där använder dom ju några mystiska class mojänger som jag inte fattar ett jux av... Det viktiga här är väl i WndProc-funktionen. Notera WM_CREATE (där skapar vi editboxen), WM_SIZE (där gör vi så att editboxen täcker hela programfönstret) och WM_SETFOCUS. Tack för exemplet! Låter som du valt ett konsolprojekt istället för win32applikation. hehe... det var det säkert...Windows Programmering + Common Controls
Började för en tid sen att spana runt lite på internet efter några bra tutorials/artiklar om windowsprogrammering. Hittade dock inte speciellt mycket. Bara väldigt enkla om hur du får till ett tomt fönster och hur man lägger till en meny. Och det är ungefär så långt jag har kommit.
Jag undrar nu om det är någon som vet om någon bra sida eller bok som handlar om Win32 programmering (då helst i Visual C++). Skulle t.ex. vilja veta hur man lägger ut t.ex. en "Editbox" i sitt fönster och sådana saker. En kod snutt om detta vore också roligt att få.
Hoppas på många svar!
//JonasSv: Windows Programmering + Common Controls
MSSv: Windows Programmering + Common Controls
Sv: Windows Programmering + Common Controls
//JonasSv: Windows Programmering + Common Controls
MSDN är bra som referens, men man lär sig ju inte programmera där.
http://www.relisoft.com/win32/index.htm är väl det jag kommer på så här på rak arm annars.Sv: Windows Programmering + Common Controls
Skulle vilja ha ett exempel på en notepad kopia. Dock behöver inte funktioner som Open/Save finnas med... bara ett jätte stort text fält :)
MvH JonasSv: Windows Programmering + Common Controls
<code>
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
HWND hEditCtrl;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
HWND hwnd;
MSG messages;
WNDCLASSEX wincl;
char szClassName[] = "nada";
wincl.hInstance = hInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WndProc;
wincl.style = CS_HREDRAW | CS_VREDRAW;
wincl.cbSize = sizeof(WNDCLASSEX);
wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
wincl.lpszMenuName = NULL;
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
RegisterClassEx(&wincl);
hwnd = CreateWindowEx(0, szClassName, "text", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 640, 480, NULL, NULL, hInstance, NULL);
ShowWindow(hwnd, nShowCmd);
while(GetMessage(&messages, NULL, 0, 0))
{
TranslateMessage(&messages);
DispatchMessage(&messages);
}
return messages.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_CREATE:
hEditCtrl = CreateWindow("EDIT", NULL, WS_VISIBLE | WS_CHILD | WS_VSCROLL | ES_AUTOVSCROLL | ES_LEFT | ES_MULTILINE | ES_WANTRETURN, 0, 0, 0, 0, hWnd, NULL, (HINSTANCE) GetWindowLong(hWnd, GWL_HINSTANCE), NULL);
break;
case WM_SIZE:
MoveWindow(hEditCtrl, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE);
break;
case WM_SETFOCUS:
SetFocus(hEditCtrl);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
return 0;
}
</code>Sv: Windows Programmering + Common Controls
Men jag får ett underligt felmeddelande när jag försöker kompilera koden:
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/test.exe : fatal error LNK1120: 1 unresolved externals
Är det någo´t mer än windows.h jag ska inkludera eller kan det vara något annat?
//JonasSv: Windows Programmering + Common Controls
Sv: Windows Programmering + Common Controls
ibland är man dummare än man gör sig :)
Tack än en gång!
//Jonas