Win32 API MDI Child Fokus

elfvyn

Mitglied
Also ich hab einen Mainframe im Hintergrund und mehrere Fenster die dareuf arbeiten....Bisher konnt ich auch zwischen den Fenstern hin und her wechseln(Fokusieren)
Jetzt habe ich noch ein neues mit reingenommen und da gehts nicht.. das bleibt immer grau in der taskbar!
Wieso kann ich mein Fenster nicht Fokusieren? Ich gebe jetzt einfach mal die registrierung und die erzeugung des Fensters mit da ich mal denke das kommt daher!


Code:
void RegXWindow()
{
	WNDCLASSEX WndClsEx;

	WndClsEx.cbSize		  = sizeof(WNDCLASSEX);
	WndClsEx.style		  = CS_HREDRAW | CS_VREDRAW;
	WndClsEx.lpfnWndProc	  = XWndProc;
	WndClsEx.cbClsExtra	  = 0;
	WndClsEx.cbWndExtra	  = 0;
	WndClsEx.hInstance		  = hInstance;
	WndClsEx.hIcon		  = LoadIcon(NULL, IDI_APPLICATION);
	WndClsEx.hCursor		  = LoadCursor(NULL, IDC_ARROW);	
	WndClsEx.hbrBackground	  = (HBRUSH)(COLOR_BTNFACE + 1);	
	WndClsEx.lpszMenuName	  = NULL;				
	WndClsEx.lpszClassName	  = XWindowClassName;		
	WndClsEx.hIconSm		  = LoadIcon(NULL, IDI_APPLICATION);

	RegisterClassEx(&WndClsEx);
}

Code:
HWND CreateXWindow(HWND hwnd)
{
	MDICREATESTRUCT mcs;
	HWND NewWnd;

  static sx=0;
  static sy=0;

	mcs.szTitle		= "X";				
	mcs.szClass		= XWindowClassName;	
	mcs.hOwner		= GetModuleHandle(NULL);
	mcs.x			= (MainFrameRect.top + (MainFrameRect.right) - ((MainFrameRect.right/5)*4) + sx);	mcs.y			                                       = (MainFrameRect.left + sy);		
	mcs.style		         = MDIS_ALLCHILDSTYLES;
	mcs.cx			= 200;				
	mcs.cy			= 200;				
	NewWnd                      = (HWND)SendMessage(hwnd, WM_MDICREATE, 0, (LONG)&mcs);

  sx+=22;
  sy+=22;
  if(sx == 110)
  {
    sx=0;
    sy=0;
  }

	return NewWnd;
}
?

thx schonmal im vorraus
 
Also weiss jetzt nicht was du unter gleich verstehst.. da wo jetz immer das "X" steht ist bei jedem Fenster ein anderer Eintrag. ansonsten sind sie gleich... hoffe mal das mir oben bei dem Codeauszug kein Fehler passiert ist... sollte aber passen. Wie gesagt bei den anderen kann ich mit derMmaus den fokus wechseln.. bei dem neuen geht das nicht.... Und ich habe auch noch nichts weiter an dem neuen Fenster gemacht.. also es gibt keine steuerelemente oder ähnliches
 
moin


Ja jetzt hab ich gesehen wie du die immer erstellst.
Das wievielte Fenster isses denn?


mfg
umbrasaxum
 
es ist das 3.....
auf was willst du denn hinaus? Was wäre denn wenn es das 2. wäre.. könnten die sich dann in die quere kommen? wie?
 
moin


Ich will auf garnichts hinaus, bin nur am überlegen(raten) woran es liegen könnte.


mfg
umbrasaxum
 
Zurück