| | 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
 | 
 |