Vlad2
|
|
1 | |
Помогите с размещением окна08.09.2007, 13:14. Показов 749. Ответов 7
Метки нет (Все метки)
Всем привет!
Помогите с выводом окна в центр экрана, а то болтается при каждом выводе как попало. Вот код, а где дописать, чтобы выводилось только в центр экрана, может кто подскажет. Private Declare Function ShellExecuteEX Lib 'Shell32.dll' _ Alias 'ShellExecuteEx' (SEI As SHELLEXECUTEINFO) As Long Private Type SHELLEXECUTEINFO cbSize As Long fMask As Long hwnd As Long lpVerb As String lpFile As String lpParameters As String lpDirectory As String nShow As Long hInstApp As Long lpIDList As Long lpClass As String hkeyClass As Long dwHotKey As Long hIcon As Long hProcess As Long End Type Public Sub ShowProps(FileName As String, OwnerhWnd As Long) Dim SEI As SHELLEXECUTEINFO Dim r As Long With SEI .cbSize = Len(SEI) .fMask = SEE_MASK_NOCLOSEPROCESS Or _ SEE_MASK_INVOKEIDLIST Or SEE_MASK_FLAG_NO_UI .hwnd = OwnerhWnd .lpVerb = 'properties' .lpFile = FileName .lpParameters = vbNullChar .lpDirectory = vbNullChar .nShow = 0 .hInstApp = 0 .lpIDList = 0 End With r = ShellExecuteEX(SEI) End Sub Private Sub Command1_Click() Call ShowProps('C:movie.avi', Me.hwnd) End Sub Заранее всем спасибо. |
08.09.2007, 13:14 | |
Ответы с готовыми решениями:
7
Flash в интернете-помогите, возникла проблема с выведением,размещением и отладкой мультиков на сайте Операция new с размещением Сложности с размещением сайта Проблема с размещением заголовка |
0 / 0 / 1
Регистрация: 30.09.2006
Сообщений: 269
|
|
08.09.2007, 15:47 | 2 |
По моему для этог не надо пользоваться API
Я для этого пользуюсь таким кодом: Sub CenterForm(frm As Form) 'передавай сюда форму frm.Top = (Screen.Height * 0.85) 2- frm.Height 2 frm.Left = Screen.Width 2 - frm.Width 2 End Sub Закидываешь вызов в Form-Load и все
0
|
0 / 0 / 0
Регистрация: 05.05.2007
Сообщений: 7
|
|
08.09.2007, 15:47 | 3 |
Я всегда делаю так:
Private Sub Form_Initialize() 'при инициализации окна Top = (Screen.Height - Height) / 2 'сверху Left = (Screen.Width - Width) / 2 'слева End Sub
0
|
Vlad2
|
|
08.09.2007, 16:13 | 4 |
Спасибо, что ответели.
У меня только вопрос куда это приделать. Этот код вызывает в виндузе свойства файла, а не мою форму. |
0 / 0 / 1
Регистрация: 30.09.2006
Сообщений: 269
|
|
08.09.2007, 19:32 | 5 |
а-а-а!! Тогда надо на API определять позицию окна свойств
Может это поможет: 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 определяй hwnd окна свойств и двигай его в центр
0
|
Vlad2
|
|
08.09.2007, 21:39 | 6 |
Может кто ещё что посоветует, а сам я наверное с этим не справлюсь.
|
0 / 0 / 0
Регистрация: 16.08.2006
Сообщений: 256
|
|
09.09.2007, 21:12 | 7 |
Зачем так сложно!? И еще API...
Делается так. Сначало нужно открыть окно Form Layout Window (меню View). Потом на нем нужно найти нужную форму, по ней щелкнуть правой кнопкой. Подменю Startup Position > Center Screen. Вот и все.
0
|
Vlad2
|
|
09.09.2007, 23:28 | 8 |
Я уже писал, что через API я вызываю окно свойств файла. Вот его и надо поставить в центр экрана. Это не окно моей проги.
|
09.09.2007, 23:28 | |
09.09.2007, 23:28 | |
Помогаю со студенческими работами здесь
8
new с размещением и двумерный массив Активация второго окна... помогите Опыты с размещением блоков Адсенс Сложности с размещением элементов на форме Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |