Hallo,
warum einfach wenn es auch umständlich geht
J.Borchert hat folgendes geschrieben: |
...Objektinspektor-OnContextPopUp- für alle BitBtn anlegen !...
...BitBtn's dürfen keine neuen Namen erhalten, damit FindComponent funzt...
|
genau das kann man sich mit meinem Vorschlag sparen, bzw. die BitBtns können beliebige Namen haben.
Das mit den Namen ist so eine Sache, hab mir mal Deinen Code in der Zip angeschaut, ein Ausschnitt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TForm1.BitBtn1Click(Sender: TObject); begin BitBtn1.Enabled:=True; ladePickel(1);end; procedure TForm1.BitBtn2Click(Sender: TObject); begin BitBtn2.Enabled:=True; ladePickel(2);end; procedure TForm1.BitBtn3Click(Sender: TObject); begin BitBtn3.Enabled:=True; ladePickel(3);end; procedure TForm1.BitBtn4Click(Sender: TObject); begin BitBtn4.Enabled:=True; ladePickel(4);end; procedure TForm1.BitBtn13Click(Sender: TObject); begin BitBtn13.Enabled:=True; ladePickel(5);end; procedure TForm1.BitBtn14Click(Sender: TObject); begin BitBtn14.Enabled:=True; ladePickel(6);end; procedure B_aus(pickel:integer); begin if Pickel=1 then Form1.BitBtn1.Enabled:=False; if Pickel=2 then Form1.BitBtn2.Enabled:=False; if Pickel=3 then Form1.BitBtn3.Enabled:=False; if Pickel=4 then Form1.BitBtn4.Enabled:=False; if Pickel=5 then Form1.BitBtn13.Enabled:=False; if Pickel=6 then Form1.BitBtn14.Enabled:=False; |
Das Programm möchte ich nicht pflegen/erweitern müssen
Bei meinem Vorschlag ist nur folgendes zu erledigen:
• Variable
MyBitBtn eintragen
• die 4 Prozeduren anlegen
• den BitBtns das Popup-Menü zuweisen
Die Geschichte kann man ohne globale Variable und noch kürzer mit nur
einer Prozedur gestalten:
• die Tag-Eigenschaft im OI der TMenuItems mit dem Index der TImageList vorbelegen
(SetzeIcon1 = 0,SetzeIcon2 = 1,SetzeIcon3 = 2)
• den BitBtns das Popup-Menü zuweisen
• SetzeIcon1Click erzeugen (nachfolgender Code) und
diese Prozedur im OI bei SetzeIcon2.OnClick und SetzeIcon3.OnClick eintragen
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.SetzeIcon1Click(Sender: TObject); begin with TBitBtn(PopupMenu1.PopupComponent) do begin Glyph := nil; ImageList1.GetBitmap(TMenuItem(Sender).Tag,Glyph); end; end; |