![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в SHBrowseForFolder диалог вставить TCheckBox? [D3, D5, Win95/98]
Tomvitas © (2002-01-29 00:52:00)Как в SHBrowseForFolderдиалог вставить TCheckBox?
Диалог вызываю функцией:
function BrowseForFolder(var FolderName: string): Boolean;
var BrowseInfo : TBrowseInfo;
ItemIDList : PItemIDList;
DisplayName : array [0..MAX_PATH] of char;
begin
Result := False;
FillChar(BrowseInfo, SizeOf(BrowseInfo), #0);
with BrowseInfo do
begin
hwndOwner := Application.Handle;
pszDisplayName := @DisplayName[0];
lpszTitle := "Select directory";
ulFlags := BIF_RETURNONLYFSDIRS;
end;
ItemIDList := SHBrowseForFolder(BrowseInfo);
if Assigned(ItemIDList) then
if SHGetPathFromIDList(ItemIDList, DisplayName) then
begin
FolderName := DisplayName;
Result := True;
end;
end;
tomvitas (2002-01-31 19:41:00) [1]Спасибо за советы, но нельзя ли конкретнее, хоть что-нибудь в коде. Мне некогда голову ломать, работа почти завершина, все на этом чекбоксе застряло. :( Помогите!!!
Raptor (2002-01-29 21:59:00) [2]2 VuDZ
Не обязательно писать шаблон. Я поступал иначе. Брал и вызывал этот диалог, а потом вставлял в него чекбокс (естественно не TCheckBox) и заменял процедуру окна диалога. При изменении чекбокса срабатывала моя процедура окна, которая записывала состояние чекбокса и потом вызывала старую процедуру окна. Вот и все.
VuDZ (2002-01-29 07:03:00) [3]тебе надо написать свой шаблон диалога и потом добавить его к нужному. это ги де-то было в MSDN описано. если надо - могк прислать нужное, но на С++