Windows api vedlejší okno – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Windows api vedlejší okno – C / C++ – Fórum – Programujte.comWindows api vedlejší okno – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
XANTAY
~ Anonymní uživatel
4 příspěvky
7. 10. 2012   #1
-
0
-

Zdravim, nevíte někdo jak ve Windows api můžu zobrazit druhé okno
(např. okno s nastavením)? Dík za odpovědi.

Nahlásit jako SPAM
IP: 88.102.98.–
Reklama
Reklama
yaqwsx+9
Posthunter
7. 10. 2012   #2
-
0
-

Zobrazit? Vytvoříš nové okno a pomocé ShowWindows(hwnd, SW_SHOW) ho zobrazíš.

Nahlásit jako SPAM
IP: 85.160.42.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
XANTAY
~ Anonymní uživatel
4 příspěvky
7. 10. 2012   #3
-
0
-

Promiňte, špatně jsem se vyjádřil. Chtěl jsem se zeptat jak to okno vytvořit.

Nahlásit jako SPAM
IP: 88.102.98.–
yaqwsx+9
Posthunter
7. 10. 2012   #4
-
0
-

Tak jako jste ve WinApi vytvořil to první okno - možností je několik - buď pomocí CreateWindows, pomocí dialogu...

Nahlásit jako SPAM
IP: 85.160.42.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
XANTAY
~ Anonymní uživatel
4 příspěvky
7. 10. 2012   #5
-
0
-

 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;

...
...
Nahlásit jako SPAM
IP: 88.102.98.–
yaqwsx+9
Posthunter
7. 10. 2012   #6
-
0
-

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í.

Nahlásit jako SPAM
IP: 85.160.42.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
XANTAY
~ Anonymní uživatel
4 příspěvky
7. 10. 2012   #7
-
0
-

Ale funguje to jen když do windowname dam jméno prvního okna.
Pak když zavřu jedno okno, ukončí se automaticky i druhý.
Když do windowname dam originální jméno, nezobrazí se nic.

Nahlásit jako SPAM
IP: 88.102.98.–
yaqwsx+9
Posthunter
7. 10. 2012   #8
-
0
-

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í.

Nahlásit jako SPAM
IP: 85.160.42.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Radek Chalupa
~ Redaktor
0
Super člen
7. 10. 2012   #9
-
0
-

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

Nahlásit jako SPAM
IP: 213.220.211.–
liborb
~ Redaktor
+18
Guru
8. 10. 2012   #10
-
0
-

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.

Nahlásit jako SPAM
IP: 90.181.216.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 78 hostů

Podobná vlákna

Win32 API - dialogové okno — založil vollf82

Windows API — založil Scrat

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý