Formular im Vordergrund

  • Themenstarter Themenstarter mastermix252
  • Beginndatum Beginndatum
M

mastermix252

Guest
Hallo,

ich möchte ein Formular im C++ Builder beim Programmstart, nachdem das MAIN Formular geladen wurde, im Vordergrund Anzeigen, so dass man das Hauptformular nicht benutzen kann, bis in dem Formular was im Vordergrund ist was bestätigt wurde. :D

Ich kann nur hoffen dass ihr das eben verstanden habt was ich da gelaber habe haha

Bitte um hilfe :D ich kann nciht so gut deutsc
 
ich kann dir mit dem c++ builder nicht helfen, jedoch ist das stichwort, "was dir nicht eingefallen ist", ein

modales Fenster

..vielleicht findste ja bei google oder in der cpp builder hilfe was dazu ;)
 
Also ich weis nicht wirklich, was du meinst, aber ich gehe mal davon aus, dass du eine WinAPI hast. Dabei lässt du dann ein Childfenster erstellen, welches dem Hauptfenster gegenüber immer im Vordergrund ist, bis das Child geschlossen wurde, oder? Also z.B. wie das Suchfenster bei Word.
Das geht mit:
SetFocus(HWND);
HWND ist die variable der HWND Klasse des Fensters.
Ich hab mir damit bal so nen Schalter gebastelt:
(iChildActive ist ein bool und standartmäßig auf 0)
Code:
switch (iChildActive) // Fenster-Focus fixieren
{
	case 1:
	      SetFocus(hChild);
	      break;
}
Der Code kommt in die Schleife des Hauptfensters.
Dann machst du halt für alle Children Windows ein case, welches den Focus wieder zurückgibt.

Du musst halt nur beim öffnen den iChildActive immer umschalten.

*edit*: mist, lux_mit_x war schneller, aber nicht unbedingt informativer 8)
Ich glaub aber jetzt ich hab's Thema wirklich verpeilt ^^
 
Du kannst das Formular inaktiv machen.

z.b. so

Code:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Form4->Show();
Form1->Enabled = false;
}


void __fastcall TForm4::Button2Click(TObject *Sender)
{
 Form1->Enabled = true;
 Form4->Hide();
}

mfg
 
Danke für eure Antworten ... habs mittlerweile raus

also wenn man ein Formular MODAL machen will :D wie der Herr oben schon gesagt hat, ruft man es einfach mit
Form1->ShowModal(); auf

für die ?nexte Generaion

PS: Das wort nexte ist von mir copyright geschüzt :D
 
Zurück
Oben