V4mp
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору vlth За иконку спс! GetActiveWindow32 получает hwnd активного окна. Может возникнуть гипотетическая ситуация, когда окно, в котором будем менять иконку, не будет активным. Думаю, в SendMessage32 лучше явно указывать hwnd формы, полученный нами ранее. Кстати - уже добьем код окончательно, формочка то запускается изначально по координатам 0,0. Чтобы запускалась по центру - добавляем объявление- Код: Private Declare Function GetSystemMetrics _ Lib "user32" (ByVal nIndex As Long) As Long | и макросик qwe преобразуем в Код: Sub qwe() Dim hForm As Long Application.Visible = True hForm = FindWindow("ThunderDFrame", UserForm1.Caption) SetWindowLong hForm, -16, WS_CAPTION + WS_SYSMENU + WS_MINIMIZEBOX + WS_MAXIMIZEBOX + WS_SIZEBOX UserForm1.Left = ((GetSystemMetrics(16) - UserForm1.Width * 1.333) / 2) * 0.75 UserForm1.Top = ((GetSystemMetrics(17) - UserForm1.Height * 1.333) / 2) * 0.75 ShowWindow hForm, 1 End Sub | Ну, получается полноценное приложение, и не поймешь сразу, что в эксэле написано И соответственно вопрос - как сделать в форме обыкновенное меню сверху? (ну там, где обычно выпадающие пункты файл, редактирование, справка и т.д.) Добавлено: сам спросил - сам отвечаю http://www.xcelfiles.com/API_Userform_MenuMaker.html | Всего записей: 65 | Зарегистр. 04-12-2008 | Отправлено: 11:13 05-02-2010 | Исправлено: V4mp, 11:16 05-02-2010 |
|