button wird nur als weises feld angezeigt
-
hallo,
ich mag in der FormShow Methode buttons generieren.
void __fastcall TForm1::FormShow(TObject *Sender) { //Komponenten der KomponentenBox generieren generiereKomponenten(); }inhalt von generiereKomponenten():
//Button Start anzeigen btnStart = new TButton(Form1); btnStart->Parent = Form1; btnStart->Top = img_Spielfeld->Top + 450; int pos = ((Form1->Width - 20) - (img_Spielfeld->Width + 25)) / 2; btnStart->Left = (img_Spielfeld->Width + 25) + pos - (btnStart->Width/2);; btnStart->Font->Style = TFontStyles() << fsBold; btnStart->Caption = "Start";leider bekomme ich nur ein weises feld angezeigt. nix was aussieht wie ein button. die funkionalität des buttons ist allerdings da

wenn ich den funktionsaufruf in die OnPaint Methoder Form schreibe klappts, is aber ziemlich unsinning.
was kann das sein?
gruesse rene
-
Hallo
ich kann mir zwar keinen Grund denken warum der Button weiß sein sollte, aber normalerweise solltest du statt dem OnShow den Konstruktor von TForm verwenden.
bis bald
akari
-
ich habs nun mal in den konstruktor gesetzt. aber weis sind sie immernoch
weis und leer und flach.keiner ne idee?
gruesse rene
-
generierst du nur den Button oder noch anderes in OnShow/Konstruktor?
eventuell übermalst du den Button mit irgendwas
-
da such ich gerade nach obs übermalt wird. sieht aber net so aus. zudem ein Image und ein label daneben voll und sauer angezeigt wird. neuste erkenntnisse zeigen das es durchsichtig ist. also da wo der button sein sollte ist einfach ein loch wo man sieht welches fenster dahinter ist. das an allen stellen wo eib button sein sollte.
gruesse rene
-
Wozu wird der Button dynamisch erzeugt? Alle Werte die du setzt, könne auch zur Laufzeit verändert werden. Vielleicht mal im ersten Schritt den Button nicht dynamisch erzeugen und prüfen was dann passiert
-
wozu weis ich selbst nicht:) ich find das sauberer. mit btnStart->Refresh(); in der OnPaint Methode hauts jetzt auch hin. seltsam. da hat mein lieber kollege wohl irgentwo was programmiert und ich finds net

gruesse rene
-
wozu weis ich selbst nicht:) ich find das sauberer.
mit btnStart->Refresh(); in der OnPaint Methode hauts jetzt auch hin. -> sauber???
Also die Benutzung des Formulareditors ist unsauber??
Sorry, da deine Implementierung ja nicht so ganz stimmt, würde ich da mal mit Ariel ran, dann wird es nicht nur sauber, sondern ......
Preisfrage

-
rein

ich schau mir das alles nochmal an.
gruesse rene