Показ 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д