Witam serdecznie wyobrazmy sobie taka sytuacje mamy kontrolke "label" z podrecznym menu (PopUpMenu)
W ktorym sa 3 opcje o nazwie BOLD ITALIC i UNDERLINE ... :) - i wszyscy wiedza o co chodzi. Udalo mi sie zrobic kod ktory zaznacza i odznacza te opcje niestety opcje te nie wspolgraja ze soba mianowicie jesli mam bold i klikne italic to bold sie odznacza ... wiem w czym problem ale nie bardzo wiem jak to ze soba powiazac. Macie moze pomysl ??
Ponizej zamieszczam moj dotychczasowy kod:
procedure TForm1.Bold1Click(Sender: TObject);
begin
if i<2 then
i := i+1
else
i:=1;
If i = 1 then
begin
Bold1.Checked := True;
Label5.Font.Style := [fsbold];
end ;
If i= 2 then
begin
bold1.Checked := False;
Label5.Font.Style := [];
end
end;
procedure TForm1.Italic1Click(Sender: TObject);
begin
if j<2 then
j := j+1
else
j:=1;
If j = 1 then
begin
Italic1.Checked := True;
Label5.Font.Style := [fsItalic];
end ;
If j= 2 then
begin
Italic1.Checked := False;
Label5.Font.Style := [];
end
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
i:=0;
j:=0;
k:=0;
end;
procedure TForm1.Underline1Click(Sender: TObject);
begin
if k<2 then
k := k+1
else
k:=1;
If k = 1 then
begin
Underline1.Checked := True;
Label5.Font.Style := [fsUnderline];
end ;
If k= 2 then
begin
Underline1.Checked := False;
Label5.Font.Style := [];
end
end;
Wiem gdzie jest blad ale nie bardzo wiem jak go wyeliminowac. Mianowicie w kazdej nastepnej opcji mam nowa wartosc dla label5.Font.Style i poprzednia jest czyszczona. Rozwiazaniem byloby cos takiego:
Label5.Font.Style := [x, y, z];
i przed kazdym wykonaniem klikniecia sprawdzany bylby warunek czy inne opcje sa klikniete i jesli tak to ich wartosci bylyby przypisywane odpowiednio do x, y, z ale nie mam pojecia jak to zrobic .... Probowalem robic to z IF'a ale wyszlo take maslo maslane ze potem sie juz pogubilem ...
POMOCY :)</delphi>