Показ Property Page объекта в режиме run-time - VB

Узнай цену своей работы

Формулировка задачи:

В Сети есть пример использования АПИ-функции [bold]OleCreatePropertyFrame[/bold] для отображения [italic]property page[/italic] заданного объекта:http://download.microsoft.com/downlo...S/PropPick.exe Работает, однако, только в VB IDE. А в run-time - страничку-то показывает, но все элементы управления, расположенные на страничке, пусты! [underline]Воспроизведение ситуации:[/underline] 1. Распакуйте архив, ссылку на который я дал выше. 2. Откомпилите отдельно PROPPICK.VBP - это ActiveX DLL. Выставьте в свойствах этого проекта binary compatibility на полученную DLL-ку. Сохраните проект. 3. Запуститесь с группы PICKDEMO.VBG. 4. В свойствах start-up проекта EXAMPLE.VBP поменяйте тип на "Standard EXE". 5. Скомпилите EXAMPLE.VBP. Из полученного EXE-шника проперти-пейдж будет получаться пустой. А из VB IDE - всё путём. Есть у кого мысли?!

Решение задачи: «Показ Property Page объекта в режиме run-time»

textual
Листинг программы
  1. Private Type GUID
  2.     Data1                   As Long
  3.     Data2                   As Integer
  4.     Data3                   As Integer
  5.     Data4(7)                As Byte
  6. End Type
  7.  
  8. Private Declare Function CLSIDFromString Lib "ole32.dll" (ByVal lpszProgID As Long, pCLSID As GUID) As Long
  9. Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
  10. Private Declare Function OleCreatePropertyFrame Lib "oleaut32.dll" (ByVal hWndOwner As Long, ByVal x As Long, ByVal y As Long, ByVal lpszCaption As Long, ByVal cObjects As Long, ByRef ppUnk As Long, ByVal cPages As Long, ByRef pPageClsID As GUID, ByVal lcid As Long, ByVal dwReserved As Long, ByVal pvReserved As Long) As Long
  11. ''
  12.  
  13. Public Sub ShowMyProperty(ByVal hWnd As Long, ByVal Caption As String, ByRef MyObject As Object)
  14. Dim CLSID As GUID
  15. Const myGeneralPage = "{CC72240A-CFB5-4124-A007-296F23BC7822}"
  16.  
  17.     CLSIDFromString StrPtr(myGeneralPage), CLSID
  18.     OleCreatePropertyFrame hWnd, 0&, 0&, StrPtr(Caption), 1, ObjPtr(MyObject), 1, CLSID, GetSystemDefaultLCID, 0&, 0&
  19.  
  20. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут