Форум: "Основная";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];
ВнизКак открыть OpenDialog в нужном месте экрана? Что-то я торможу. Найти похожие ветки
← →
DVM (2002-12-02 17:05) [0]Как открыть OpenDialog в нужном месте экрана? Что-то я торможу. У него свойств Left и Тор нету.
Обычно открываю так:
if OpenDialog.Execute then...
← →
Marcus (2002-12-02 17:10) [1]Событие OnShow и пробовать MoveWindow(TForm(Sender).Handle, ...) или SetWindowPos
← →
DVM (2002-12-03 12:35) [2]Не работает :(
Писал в обработчике события OnShow OpenDialog-a:
1 вариант: Postmessage(OpenDialog.Handle, wm_move, 1, 1);
2 вариант: MoveWindow(OpenDialog.Handle, 1,1, 400,300, true);
(размеры 400х300 от балды)
3 вариант: SetWindowPos(OpenDialog.Handle, HWND_TOP,1,1,400,300,SWP_NOSIZE);
Ни один вариант не двигает OpenDialog в угол.
Может, я что не так делаю?
← →
Skier (2002-12-03 12:52) [3]>DVM
1)
OpenDialog1.Options := OpenDialog1.Options + [ofOldStyleDialog]
2)
procedure TForm1.OpenDialog1Show(Sender: TObject);
begin
SetWindowPos(OpenDialog1.Handle, HWND_TOP, 10, 10, 0, 0, SWP_NOSIZE);
end;
← →
DVM (2002-12-03 13:39) [4]А нормальный OpenDialog нельзя подвинуть? А то этот, "старого образца" (ofOldStyleDialog) не совсем подходит, да и некрасивый он какой то.
Винда сама то OpenDialog-и двигает:
Пуск - Выполнить - Обзор, например.
Как сделать так???
← →
DVM (2002-12-03 14:05) [5]Посмотрел в справке: у предка TDialog есть Position:TPoint,
Это как то можно "достать"?
← →
Song (2002-12-03 14:13) [6]Наследником.
← →
DVM (2002-12-03 20:13) [7]Наследником от TDialog? Непонятно, почему Borland этого не сделал? Вроде бы может понадобится.
← →
PVOzerski (2002-12-03 22:56) [8]Помню одну тонкость, которую нашел в свое время случайно: handle этого компонента - на самом деле не Handle собственно окна диалога, а некоего его дочернего контрола - так что истинный хэндл я вытаскивал через GetParent(Handle). А тогда и MoveWindow должен заработать.
← →
DVM (2002-12-04 22:47) [9]GetParent не работает!:(
Вроде бы все правильно:
MoveWindow(GetParent(OpenDialog.Handle),1,1,500,400,true);
Попробовал еще так:
f:=findwindow(nil,"Обзор"); //"Обзор" - название окна-диалога
MoveWindow(f,1,1,500,400,true);
Прогресс: OpenDialog поменялся в размерах, но поменялся как то криво, только его часть что-ли изменила размер.
Как подвинуть этот гребаный ДИАЛОГ?????????????????
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c