Button opcje wielokrotnego wyboru.

0

otóż chodzi mi o to jak wstawię w butonie MessageBox i dam flagę 3 to mam 3 opcje do wybrania Tak, Nie, Anuluj.

Więc chce do nich przepisać ShowMessage lub MessageBox bez wyboru.

więc krótko mówiąc chodzi o to:

Klikam "TAK" wyświetla się tekst: "Dom"
Klikam "NIE wyświetla się teskt: "Szkoda"
Klikam Anuluj zamyka okienko

1

Nie masz helpa?

MessageBox returns 0 if there isn’t enough memory to create the message box. Otherwise it returns one of the following values:

Value    Numeric       Meaning
         value
IDOK     1             The user chose the OK button.
IDCANCEL 2             The user chose the Cancel button.
IDABORT  3             The user chose the Abort button.
IDRETRY  4             The user chose the Retry button.
IDIGNORE 5             The user chose the Ignore button.
IDYES    6             The user chose the Yes button.
IDNO     7             The user chose the No button.
0

Heh kolego i co mam z tym zrobić?
(Wczoraj zacząłem naukę z Delphią. Wcześniej zajmowałem się XHTML i CSS więc nie mniej nie miej zazłe że nie ogarniam)

0

Ret:=MessageBox(...);
if Ret=mrYes then //mrNo, mrOk, mrRetry, mrAll, mrCancel

0

Heh coś nie działa ;/

0

Wiec pokaż kod, wskaże ci gdzie skopałeś sprawę.

0
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;




implementation

uses Unit2, Unit3;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Application.MessageBox('Test','Title',3);
Ret:=MessageBox(...);
if Ret=mrYes then //mrNo, mrOk, mrRetry, mrAll, mrCancel
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Form2 := Tform2.create( self ) ;
Form2.showModal ;
Form2.free ;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Form3 := Tform3.create( self ) ;
Form3.showModal ;
Form3.free ;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin

end;

end.
0

Kliknij w słówko MessageBox i naciśnij F1.
Nie zapomnij też zadeklarować Ret.

0

Gdy klikam F1 wyskakuje pomoc techniczna Windowsa.
Proszę o pomoc!

2

Nie ma "wyskoczyć" pomoc Windows'a tylko ta od Delphi. Jak używasz nowszego systemu typu Windows 7 i Delphi w wersji z plikiem pomocy w formacie hlp - to zainstaluj odpowiednią poprawkę Widnows Update do znalezienia w google, która dodaje program winhelp i pozwala obslugużyć ten format plików pomocy. A co do kodu to:

procedure TForm1.FormCreate(Sender : TObject);
begin
  Application.Title := Caption;
end;

procedure TForm1.Button1Click(Sender : TObject);
begin
  case MessageBox(Application.Handle,
    'Będziesz się samodzielnie uczył podstaw, googlował, a później dopiero pytał na frum?',
    PChar(Application.Title), MB_ICONQUESTION + MB_YESNOCANCEL) of
    ID_YES : MessageBox(Application.Handle, 'To fajnie. Dom.',
        PCHar(Application.Title), MB_ICONINFORMATION + MB_OK);
    ID_NO : MessageBox(Application.Handle, 'Szkoda.',
        PCHar(Application.Title), MB_ICONINFORMATION + MB_OK);
  end;
end;

O to chodziło? I tak jak napisalem w przykładzie. Myśl, ucz się podstaw, googluj i dopiero pytaj.

1 użytkowników online, w tym zalogowanych: 0, gości: 1