Главная страница
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.042 c
1-1163161794
DVM
2006-11-10 15:29
2006.12.24
Вопрос про BeginThread.


15-1164889250
antonn
2006-11-30 15:20
2006.12.24
по хтмл ю вопросик


1-1163073707
Ш-К
2006-11-09 15:01
2006.12.24
TWebBrowser и ивенты


2-1165396514
vitv
2006-12-06 12:15
2006.12.24
Размещение базы данных


4-1155818891
misha_gr
2006-08-17 16:48
2006.12.24
Два глупых вопроса по поводу DLL...