Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Проблема с вызовом API... Добавлено: 25.06.03 09:26  

Автор вопроса:  Torqian
Объявляю API функцию Public Declare Function ChooseFont Lib "comdlg32.dll" Alias "ChooseFontA" (pChoosefont As CHOOSEFONT) As Long при попытке запуска программы VB выдает ошибку User-defined type not defined. Как с этим бороться?

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 DimaS



Вопросов: 2
Ответов: 85
 Профиль | | #1 Добавлено: 25.06.03 09:37

Вероятно, ты не объявил тип CHOOSEFONT, т.е. до объявления функции

Public Declare Function ChooseFont Lib "comdlg32.dll" Alias "ChooseFontA" (pChoosefont As CHOOSEFONT) As Long, необходимо объявить тип CHOOSEFONT, API Viewer предложил такой вариант объявления:

FONTTYPE_
                                       '    bits added
        MISSING_ALIGNMENT As Integer
        nSizeMin As Long           '  minimum pt size allowed &
        nSizeMax As Long           '  max pt size allowed if
                                       '    CF_LIMITSIZE is used
End Type

 

Удачи.

Ответить

Номер ответа: 2
Автор ответа:
 DimaS



Вопросов: 2
Ответов: 85
 Профиль | | #2 Добавлено: 25.06.03 09:37

Вероятно, ты не объявил тип CHOOSEFONT, т.е. до объявления функции

Public Declare Function ChooseFont Lib "comdlg32.dll" Alias "ChooseFontA" (pChoosefont As CHOOSEFONT) As Long, необходимо объявить тип CHOOSEFONT, API Viewer предложил такой вариант объявления:

Public Type CHOOSEFONT
        lStructSize As Long
        hwndOwner As Long          '  caller's window handle
        hdc As Long                '  printer DC/IC or NULL
        lpLogFont As Long
        iPointSize As Long         '  10 * size in points of selected font
        flags As Long              '  enum. type flags
        rgbColors As Long          '  returned text color
        lCustData As Long          '  data passed to hook fn.
        lpfnHook As Long           '  ptr. to hook function
        lpTemplateName As String     '  custom template name
        hInstance As Long          '  instance handle of.EXE that
                                       '    contains cust. dlg. template
        lpszStyle As String          '  return the style field here
                                       '  must be LF_FACESIZE or bigger
        nFontType As Integer          '  same value reported to the EnumFonts
                                       '    call back with the extra FONTTYPE_
                                       '    bits added
        MISSING_ALIGNMENT As Integer
        nSizeMin As Long           '  minimum pt size allowed &
        nSizeMax As Long           '  max pt size allowed if
                                       '    CF_LIMITSIZE is used
End Type

 

 

Удачи.

Ответить

Номер ответа: 3
Автор ответа:
 Torqian



Вопросов: 2
Ответов: 3
 Профиль | | #3 Добавлено: 25.06.03 17:26

Большое спасибо, теперь всё работает!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам