beetlehead |
Отправлено: 16.06.2005, 15:09 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 10
|
Подскажите пожалуйста, как можно (если можно конечно) запретить кнопку открытия в OpenDialog
Просто необходимо открывать из кучи файлов только те, которые удовлетворяют опр. условиям.
Дело осложняется тем, что все эти файлы одного расширения, так что вариант с фильтром не подойдет.
Заранее спасибо. |
|
olegenty |
Отправлено: 16.06.2005, 15:26 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
ничто не мешает эти условия отразить в фильтре.
|
|
** exp |
Отправлено: 17.06.2005, 12:22 |
|
Не зарегистрирован
|
Мешает.
Olegenty, хоть прочитал бы.
QUOTE |
файлы одного расширения
|
Еще варианты есть? |
|
Konstantine |
Отправлено: 17.06.2005, 12:54 |
|
Мастер участка
Группа: Модератор
Сообщений: 545
|
всё верно, olegenty имел ввиду что фильтр может быть типа *fd*.dat, т.е. фильтровать не только по расширению, но и по известным символам в имени...
|
|
xTrim |
Отправлено: 17.06.2005, 12:58 |
|
Машинист паровоза
Группа: Участник
Сообщений: 208
|
Есть еще вариант использовать событие OpenDialog OnIncludeItem.
Не, фигню сказал. Был не прав.
Отредактировано xTrim — 17/06/2005, 16:05
|
|
GIZMO |
Отправлено: 17.06.2005, 13:13 |
|
Машинист паровоза
Группа: Участник
Сообщений: 174
|
QUOTE (** exp @ 17/06/2005, 12:22) | Мешает.
Olegenty, хоть прочитал бы.
QUOTE |
файлы одного расширения
|
Еще варианты есть? |
CODE |
//где-то в
void __fastcall TForm1::OpenDialog1SelectionChange(TObject *Sender)
{
...
//1. получаем хэндл кнопки Open
HWND hWndDlg = GetParent(OpenDialog1->Handle);
HWND hWndBtn = GetDlgItem(hWndDlg, 1);
bool bEnable;
//2. определяем условия блокировки
/*user defined function
bEnable = CheckOpen(OpenDialog1->FileName);
*/
//3. собственно разрешаем/запрешаем кнопку Open
/* id элементов управления, можно посмотреть открыв comdlg32.dll какам- нибудь редактором ресурсов*/
EnableWindow(hWndBtn, bEnable);
}
|
|
|
** exp |
Отправлено: 20.06.2005, 10:02 |
|
Не зарегистрирован
|
Щасс....
Гениально!
Спасибо, GIZMO! |
|