Witam,
Mam pytanko, a mianowicie, czy w ShowMessage można wyświetlić obrazek? (i jeśli tak, to jak ;) )
Pozdrawiam,
adam123adam
Witam,
Mam pytanko, a mianowicie, czy w ShowMessage można wyświetlić obrazek? (i jeśli tak, to jak ;) )
Pozdrawiam,
adam123adam
Postawiłem jasne pytanie, a o Delphi słyszałem, i mnie nie obrażaj, bo programuje w Delphi od 2 lat, i specjalnie dałem ten temat do Newbie, bo wiem, że to banalne pytanie (po prostu chciałem się dowiedzieć, czy w/w zagadnienie jest możliwe do spełnienia), ale coś mi się wydaje, że romawiam z 5 latkiem, albo kimś o takim poziomie rozwoju, że nie umie myśleć. Współczuję początkującym, którzy natrafią na takiego snoba, który wprost odgania od chęci programowania i nauczenia się czegoś wartościowego i myśli, że zjadł wszystkie rozumy. Ach ci ludzie miejący mocną gębę w internecie, a w normalnym życiu udają normalne organizmy z gatunku homosapiens, które umieją myśleć.
Postawiłem jasne pytanie, a o Delphi słyszałem, i mnie nie obrażaj, bo programuje w Delphi od 2 lat
A ja od 5 i co? Trolololo...
i specjalnie dałem ten temat do Newbie, bo wiem, że to banalne pytanie
Co nie zmienia czasu jaki zajmuje nam przeczytanie tego. MSDN sprawdziłeś? Nie? No to nie wazne jak banalne pytanie to i tak niepotrzebne!
(Albo raczej: Nie szukałeś? To nie ważne jak banalne pytanie to i tak nie potrzebne.)
ale coś mi się wydaje, że romawiam z 5 latkiem, albo kimś o takim poziomie rozwoju, że nie umie myśleć.
O boże, programuje od urodzenia?! :O Właściwie to ty nie myślisz skoro wydaje Ci się że skoro w newbie to możesz pytać o głupoty (Albo raczej: rzeczy o których piszą w internecie sporo).
Współczuję początkującym, którzy natrafią na takiego snoba, który wprost odgania od chęci programowania i nauczenia się czegoś wartościowego i myśli, że zjadł wszystkie rozumy.
No wiesz, kazdy ma jakiś swój sens życiowy, c'nie? Moim nie jest wysłuchiwanie głupot.
Ach ci ludzie miejący mocną gębę w internecie, a w normalnym życiu udają normalne organizmy z gatunku homosapiens, które umieją myśleć.
U MAD? :D
EDIT: Dla tych co mnie nie rozumieją: Nic mu nie zrobiłem a on postanowił mnie zflamować :-] . Na głupotę odpowiadam głupotą, tyle w tej sprawie.
W ShowMessage ni da rady, ale przecież własną formę można. W MessageBox też raczej nie da rady.
xeo545x39 - dzięki za odpowiedź godną programisty ;) Na szczęście nie wszyscy są tacy jak Payl
@adam123adam: przeanalizuj sobie ten kod poniżej. To tylko przykład, jest też jak podmienić obrazek. Tylko taki MessageBox ma taką wadę, że będzie raczej w Delphiowym stylu, czyli na przykład jeżeli kod zostanie skompilowany pod na przykład Delphi 7, a uruchomimy program na Windows 7 to będzie widać różnice między takim dialogiem (bo będzie to fizycznie formatka), a takim z MessageBox. Może pod nowszymi Delphi coś się w tej kwestii zmienilo, ale tego nie wiem, bo używam Delphi 7 oraz Windows 7 z klasyczną kompozycją i na ogół wystarcza mi standardowy MessageBox. A jeżeli już stworzę własne okienko dialogowe to na ogół tylko jako głowne okno programu pisanego pod WinAPI, a takowy dialog jest wcześniej przygotowany jako odpowiedni plik zasobów, gdzie albo wspieram się starusieńkim Delphi 3 i zapisanej w nim formatce przeniesionej z Delphi 7 aplikacji VCL, (które jakoś ostatnio polubiłem przerabiać na WinAPI w miarę moich możliwości), a później konwersji programem Dfm2Api (bo nie obsługuje on dfm'ów z Delphi 7) albo jak nie ma za wiele do układania w okienku dialogowym to używam ResED z: http://www.oby.ro/rad_asm/resed/index.html - jak takie okienka oprogramować i wywoływac oraz jak ewentualne na jakiejś kontrolce narysować bitmapę lub jpega znajdziesz w google.
procedure TMainForm.CBXOnClick(Sender : TObject);
begin
with Sender as TCheckBox do
begin
if Checked then
begin
ShowMessage('Zaznaczyłeś');
end
else
begin
ShowMessage('Odznaczyłeś');
end;
end;
end;
procedure TMainForm.ShowMsgDlgButtonClick(Sender : TObject);
var
Dlg : TForm;
CBX : TCheckBox;
begin
Dlg := CreateMessageDialog('Czy na pewno chcesz zamknąć program?',
mtConfirmation, [mbYes, mbNo]);
Dlg.Caption := Application.Title;
Dlg.BorderIcons := [];
Dlg.Height := 130;
Dlg.ActiveControl := TButton(Dlg.FindComponent('Yes'));
TImage(Dlg.FindComponent('Image')).Picture.Assign(Application.Icon);
TButton(Dlg.FindComponent('Yes')).Caption := 'Tak';
TButton(Dlg.FindComponent('No')).Caption := 'Nie';
TButton(Dlg.FindComponent('Yes')).Top := 70;
TButton(Dlg.FindComponent('No')).Top := 70;
CBX := TCheckBox.Create(Dlg);
CBX.Parent := Dlg;
CBX.Caption := 'Zawsze pytaj';
CBX.Left := (Dlg.Width - CBX.Width) div 2;
CBX.Top := 40;
CBX.Checked := False;
CBX.OnClick := CBXOnClick;
Dlg.ShowModal;
case Dlg.ModalResult of
mrYes :
begin
Caption := 'Tak';
end;
mrNo :
begin
Caption := 'NIE';
end;
end;
if CBX.Checked then
begin
Caption := Caption + #32 + '- Zaznaczony';
end
else
begin
Caption := Caption + #32 + '- Odznaczony';
end;
end;