Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Позиция окна СomonDialog Добавлено: 23.10.06 14:35  

Автор вопроса:  -АлександР- | Web-сайт: sham.clan.su
Можно ли установить позицию окна СomonDialog без АПИ?

Ответить

  Ответы Всего ответов: 19  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 23.10.06 17:46
НЕТ

Ответить

Номер ответа: 2
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #2
Добавлено: 29.10.06 14:03
Сдаюсь. Как это могно сделать с АПИ? Если после каждого CommonDialog1.ShowColor обработка кода прерывается до нажатия Ok???
Даже таймер - не работает:(

Ответить

Номер ответа: 3
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 29.10.06 19:22
CommonDialog1.ShowColor
FindWindow
SetWindow

Ответить

Номер ответа: 4
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #4
Добавлено: 29.10.06 20:43
ПхПхПх
Я так и делал
Снала WindowFromPoint
Затем FindWindow ... короче какая разница!!!!
Дело-то не в этом. А в том, что эту процедуру воткнуть некуда: тогда, когда появляется CommonDialog1.ShowColor - на нем все действия прекращаются. А после нажатия ok... - ну ты понял?

Ответить

Номер ответа: 5
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #5
Добавлено: 29.10.06 20:46
После нажатия ok будет обрабатываться findwindow etc , только window - уже не будет. По видимому надо в сам конирол влесть, не знаю...
Ты сам попробую сначала... потом встретимся

Ответить

Номер ответа: 6
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #6 Добавлено: 29.10.06 22:52
ну где ж фантазия? :)
Ну таймер, модуль...

Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function SetTimer& Lib "user32" (ByVal hwnd&, ByVal nIDEvent&, ByVal uElapse&, ByVal lpTimerFunc&;)
Private Declare Function KillTimer& Lib "user32" (ByVal hwnd&, ByVal nIDEvent&;)
Private Declare Function SetWindowPos Lib "user32.dll" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Public Sub TimerProc(ByVal hwnd&, ByVal uMsg&, ByVal idEvent&, ByVal dwTime&;)
    Dim myHwnd As Long
    myHwnd = FindWindow(vbNullString, "Цвет";)
    Call SetWindowPos(myHwnd, 0, 0, 0, 0, 0, vbNormalFocus)
    KillTimer hwnd, idEvent
End Sub


вызов
Private Sub Command1_Click()
    SetTimer hwnd, 1, 200, AddressOf TimerProc
    CommonDialog1.ShowColor
    DoEvents
End Sub

Ответить

Номер ответа: 7
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #7
Добавлено: 30.10.06 00:53
ну где ж фантазия? :)
Да я вроде б включал: делал то же самое, правда через стандартный timer-контрол. Всё сделал, включил, задал интервал - и на тебе - ничего!
Кстати, твой вариант тоже не работает, знаешь?
Не в фантазии дело, м/б я что-то делаю не то.
Ты у себя проверял? Работает?

Ответить

Номер ответа: 8
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #8
Добавлено: 30.10.06 01:00
Причем не важно, где размещать включение таймера: если до вызова окна Цвет, то он не найдет окно. Ну а если после... то тоже не найдет окно.

И doevents не помогает, потому что включается уже после того, как окно Цвет закрыто :(

Ответить

Номер ответа: 9
Автор ответа:
 Victor



ICQ: 345743490 

Вопросов: 42
Ответов: 385
 Web-сайт: vt-dbnz.narod.ru
 Профиль | | #9
Добавлено: 30.10.06 03:04
напиши свой диалог выбора цвета и делай с ним что хош

Попробуй вызывать диалог через апи. Там есть возможность воткнуть хук, вот оттуда-то и можно будет задать его положение.

Ответить

Номер ответа: 10
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #10
Добавлено: 30.10.06 03:39
А нафик вообще это окно позицЫонировать?

Ответить

Номер ответа: 11
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #11
Добавлено: 30.10.06 13:15
А нафик вообще это окно позицЫонировать?
Ну не в том месте где нужно оно появляется

Попробуй вызывать диалог через апи
Какое, не подскажешь?

Ответить

Номер ответа: 12
Автор ответа:
 Victor



ICQ: 345743490 

Вопросов: 42
Ответов: 385
 Web-сайт: vt-dbnz.narod.ru
 Профиль | | #12
Добавлено: 30.10.06 14:04
Private Declare Function ChooseColor _
 Lib "comdlg32.dll" Alias "ChooseColorA" _
 ;(pChoosecolor As ChooseColor) As Long

Ответить

Номер ответа: 13
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #13
Добавлено: 30.10.06 14:23
You can provide a CCHookProc hook procedure for a Color dialog box. The hook procedure can process messages sent to the dialog box. To enable a hook procedure, set the CC_ENABLEHOOK flag in the Flags member of the CHOOSECOLOR structure and specify the address of the hook procedure in the lpfnHook member.

Ответить

Номер ответа: 14
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #14 Добавлено: 30.10.06 19:44
блин, ну если б неработало то что я написал, я б его сюда постил? :)

Ответить

Номер ответа: 15
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #15
Добавлено: 30.10.06 19:48
Private Declare Function ChooseColor _
 Lib "comdlg32.dll" Alias "ChooseColorA" _
 ;(pChoosecolor As ChooseColor) As Long
Ох, придется покапаться. Спасибо, Виктор.
Откуда вы все такие умные?

2Sharp:
А моно ссылочку, примерчик или... поподробнее(?)

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам