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

Вниз

Как открыть 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
14-51965
VictorT
2002-11-26 21:56
2002.12.16
Предзагрузка - хорошо или плохо?


1-51678
laser
2002-12-05 18:20
2002.12.16
ТЕКСТ


3-51588
User_OKA
2002-11-27 13:00
2002.12.16
Запрос


14-51930
Шонь-Дзюнь
2002-11-25 15:51
2002.12.16
Меню настройки


1-51795
Sego
2002-12-05 09:24
2002.12.16
Отображение без gride