Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.24;
Скачать: CL | DM;

Вниз

Смена текста одного из контролов Open Dialog Box...   Найти похожие ветки 

 
gdaujk ©   (2006-11-11 18:12) [0]

Доброго времени суток, уважаемые мастера.

Вопрос к Вам следующий: как изменить текст одного из стандартных элементов управления в диалоге открытия/сохранения файла (Open/Save dialog box)? Делаю так:



uses
 Windows, Dialogs;

type
 TExampleDialog = class(TOpenDialog)
 protected
   procedure DoTypeChange; override;
 end;

implementation

uses CommDlg;

const
 ID_EDT1 = 1148;  // ???

procedure TExampleDialog.DoTypeChange;
begin
 SendMessage(Handle,
             CDM_SETCONTROLTEXT,
             WPARAM(ID_EDT1),
             LPARAM(PChar("NewString")));  // текст не меняется

 inherited;
end;

end.



procedure TForm1.Button1Click(Sender: TObject);
var
 ExDlg: TExampleDialog;
begin
 ExDlg := TExampleDialog.Create(Self);
 ExDlg.Filter := "Filter 1|*.fl1|Filter 2|*.fl2";
 ExDlg.FilterIndex := 1;
 ExDlg.Execute;
end;


При смене фильтра ничего не происходит. Подскажите, что я делаю не так.

PS: Меня терзают сомнения по поводу константы ID_EDT1: я взял её из описания диалога в comdlg32.dll. В WinAPI пишут, что edt1 "are constant defined in DLGS.H"; если у вас есть DLGS.H, то будьте добры – подскажите, чему равно edt1.


 
Leonid Troyanovsky ©   (2006-11-12 01:34) [1]


> gdaujk ©   (11.11.06 18:12)  

> const
>  ID_EDT1 = 1148;  // ???


Если имелся ввиду Edit для имени файла, то, видимо, 1152.


> procedure TExampleDialog.DoTypeChange;
> begin
>  SendMessage(Handle,
>              CDM_SETCONTROLTEXT,
>              WPARAM(ID_EDT1),
>              LPARAM(PChar("NewString")));  // текст не
> меняется


Здесь не очень понятен Handle, бо для диалога это должно
быть нечто другое. Ну, скажем GetActiveWindow.

--
Regards, LVT.


 
gdaujk ©   (2006-11-12 15:35) [2]

Точно, там не Handle, а GetParent(Handle) должно быть (см. TOpenDialog.GetFileName).

Leonid Troyanovsky, вы как всегда на высоте :-). Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2006.12.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.053 c
15-1164867098
q10nik
2006-11-30 09:11
2006.12.24
Мозгопромывающая задача на перебор...


2-1165083215
Mozgan
2006-12-02 21:13
2006.12.24
Как узнать имя?


15-1163681010
sergey888
2006-11-16 15:43
2006.12.24
Delphi уже относится к "другим" языкам программирования


6-1154014049
Gbp
2006-07-27 19:27
2006.12.24
Вопросы по TWebBrowser


1-1163080024
lockheed_man
2006-11-09 16:47
2006.12.24
Разное исполенение кода при дебаге и при простом запуске