Показ 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
Листинг программы
Private Type GUID
    Data1                   As Long
    Data2                   As Integer
    Data3                   As Integer
    Data4(7)                As Byte
End Type
 
Private Declare Function CLSIDFromString Lib "ole32.dll" (ByVal lpszProgID As Long, pCLSID As GUID) As Long
Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
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
''
 
Public Sub ShowMyProperty(ByVal hWnd As Long, ByVal Caption As String, ByRef MyObject As Object)
Dim CLSID As GUID
Const myGeneralPage = "{CC72240A-CFB5-4124-A007-296F23BC7822}"
 
    CLSIDFromString StrPtr(myGeneralPage), CLSID
    OleCreatePropertyFrame hWnd, 0&, 0&, StrPtr(Caption), 1, ObjPtr(MyObject), 1, CLSID, GetSystemDefaultLCID, 0&, 0&
 
End Sub

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


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

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

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