Zdravim, nevíte někdo jak ve Windows api můžu zobrazit druhé okno
(např. okno s nastavením)? Dík za odpovědi.
Fórum › C / C++
Windows api vedlejší okno
Zkoušel jsem takto, ale bohužel nefunguje. Poraďte prosím.
switch (message)
{
case WM_COMMAND:
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
// Parse the menu selections:
switch (wmId)
{
case 2741:
{
//W_games je proměnná typu HWND
W_games = CreateWindowEx(0,L"GAMES",L"Hry",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,800,450,NULL,0,0,0);
}break;
...
...
Chtělo by to napsat, jak to nefunguje - nejde to zkompilovat, vypíše to runtime chybu, neudělá to nic? Osobně při letmém pohledu si myslím, že okno je vytvořeno, ale nebylo ještě zobrazeno; stačí zavolat ShowWindow(W_games, SW_SHOW) po jeho vytvoření.
V té rychlosti jsem si toho nevšimnul - ale nelze vynechat první parametr funkce CreateWindows - čímž je jméno třídy okna. Tzn. musíš prvně zaregistrovat třídu okna (přiřadit jí smyčku zpráv, menu, atd...) a poté její jméno předat funci CreateWindows.
Doporučuji testovat náratovou hodnotu WinAPI funckí a v případě neúspěchu zjišťovat chybu pomocí GetLastError - chyby se pak celkem snadno hledají.
Když zavřeš to "první" okno, které je jak předpokládám hlavní okno procesu aplikace, ukončí se celý proces (tj. aplikace) a tím se automaticky zruší všechna další okna vytvořené v tom procesu.
Radek Chalupa
- vývoj software na zakázku
- školení programování (C/C++, WinAPI, ATL, COM, ActiveX, C#, NET Framework, MFC)
http://www.radekchalupa.cz
Když chceš zobrazovat okno s nastavením, tak na to je asi nejlepší použít modální dialog (DialogBox). Jednak nepůjde zavřít hlavní okno, takže si neukončíš aplikaci. Pak si snadno v resource (.rc) uděláš rozložení ovládacích prvků a můžeš použít i nějaký wysiwyg editor.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
HTML okno ve Win32 API (Windows) — založil Hunty
Win32 API - dialogové okno — založil vollf82
Windows API — založil Scrat
Problem s konverzi formatu ve windows API — založil ask@t
Seznam alternativ pro Windows API? — založil MiCizek
Moderátoři diskuze