[(Visual)C++] Okno potomne a fokus

0

Jestem początkujący jeśli chodzi o programowanie pod winde. Mam w programie okno główne i tworze w nim okno potomne i daje mu fokus SetFocus(hwndChild); jednak mimo wszystko pasek tytulowy nadal jest "matowy" tak jakby nie mial fokusu mimo ze ma, co jest nie tak ?

0

Jestem początkujący jeśli chodzi o programowanie pod winde. Mam w programie okno główne i tworze w nim okno potomne i daje mu fokus SetFocus(hwndChild); jednak mimo wszystko pasek tytulowy nadal jest "matowy" tak jakby nie mial fokusu mimo ze ma, co jest nie tak ?

  1. Co tworzysz? Dialog? Modalny czy nie-modalny??
  2. MFC czy API?
  3. Jak tworzysz?? Kawałek(!) kodu.
0
case WM_COMMAND:
		hMenu = GetMenu(hwnd);

		switch(LOWORD(wParam))
		{
		case ID_OKNO_CHAT:
			hwndChat = CreateWindow(TEXT("button"), TEXT("Chat"),
			WS_CHILDWINDOW | WS_OVERLAPPEDWINDOW,
			CW_USEDEFAULT, CW_USEDEFAULT,
			(cxClient * 1/3), (cyClient * 3/4),
			hwnd, (HMENU) 0, (HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE), NULL);

			ShowWindow(hwndChat, SW_SHOWNORMAL);
			UpdateWindow(hwndChat);
			return 0;

Nie tworze okna dialogowego tylko potomne, nie znam sie ale to chyba nie to samo. Zrobilem cos takiego mam w oknie glownym menu i jak wybiore z niego opcje Chat to pojawia sie okno, no i z tym oknem jest problem bo pasek tytulowy nie jest aktywny, a podgladajac inne aplikacje widzialem ze i okno glowne i okno potomne powinny miec aktywny pasek tytulowy, co innego z oknami dialogowymi tam tylko okno dialogowe powinno miec aktywny pasek ale tylko jesli jest modalne a jesli nie to mozna sie przelaczac miedzy oknami. Dobra bo zaczalem gadac nie na temat, pomozcie ... :)

0

Wydaje mi się, że trochę pomyliłeś normalne okno, które jest hmmm, że tak powiem z interfejsem SDI, z programem, który korzysta z MDI (Multi Document Interface). W MDI możesz mieć kilka okien (potomnych) wewnątrz głównego okna i wtedy jedno aktywne ma focus (tak jak np. interfejs Visual Studio). O to Ci chodzi??

0

Tak o to mi chodzi... wiec ?

0

...to całkiem inna bajka.

"Win32 Programmer's Reference", Multiple Document Interface
albo MSDN - dobry punkt startowy: CreateMDIWindow().
Powodzenia.

0

ok dzieki za pomoc, widac chcialem troche za bardzo wybrnac w przod w programowaniu pod winde... MDI czyli Interface Wielodokumentowy ? I mam pytanie, w takim razie jesli bez tego MDI tworze niby okno potomne to ono wcale nie jest potomne ? <lol> :P ale pytanie :P I moglbys mi przedstawic takie oglone roznice miedzy Oknami Dialogowymi, Potomnymi a MDI ? z gory dzieki

0

I mam pytanie, w takim razie jesli bez tego MDI tworze niby okno potomne to ono wcale nie jest potomne ?
<lol> :P ale pytanie :P I moglbys mi przedstawic takie oglone roznice miedzy Oknami Dialogowymi, Potomnymi a MDI ? z gory dzieki

Jeśli ma rodzica to jest potomne :)

W MDI jest inne podejście do obsługi wszystkich okien. Każde okno, hmm potomne (ale nie kontrolka), jest traktowane jako oddzielne okno. To, że tak jest załatwia system obsługi MDI.

Musisz sam poczytać, a najlepiej zainteresuj się MFC :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1