На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual C++ / MFC / WTL (далее Раздела)
1) На Раздел распространяются все Правила Форума.
2) Перед тем, как создать новый топик, убедитесь, что Вы читали Правила создания тем в Разделе.
3) Вопросы, не связанные с программированием (настройки MS Visual Studio, книги, библиотеки и т.д.),
обсуждаются в разделе C/C++: Прочее
4) Вопросы разработки .NET (Windows Form, C++/CLI и т.п.) приложений на Visual C++/C# обсуждаются в разделе .NET.
5) Нарушение Правил может повлечь наказание со стороны модераторов.

Полезные ссылки:
user posted image FAQ Раздела user posted image Обновления для FAQ Раздела user posted image Поиск по Разделу user posted image MSDN Library Online
Модераторы: ElcnU
  
> помогите с CreateDialogParam , Проблемка с параметром типа DLGPROC
    При компиляции ниже приведенного кода в Visual C++ (Studio 2005), получаю такую ошибку:

    Error 1 error C2440: 'type cast' : cannot convert from 'overloaded-function' to 'DLGPROC' d:\vstudio2005\projects\customfileopendialog\customfileopendialog\cfodc.cpp 8

    Подскажите плиз как правильно запихнуть параметр CALLBACK функции в CreateDialogParam. Уже сутки мучаюсь, ищу по форумам, но никак не могу заставить это все откомпилиться. Что я делаю не так?


    #include "stdafx.h"
    #include "CFODC.h"


    CFODC::CFODC()
    {
    hInstance=GetModuleHandle(NULL);
    hDlg=CreateDialogParam(hInstance,L"Open File",NULL,(DLGPROC) CFODC::WndProc,NULL);

    }
    CFODC::~CFODC() {}


    int CALLBACK CFODC::WndProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
    {
    return 0;
    }
      нужно WndProc объявить как static

      ExpandedWrap disabled
        class CFODC
        {
        ...
            static int CALLBACK WndProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
        } ;
      Сообщение отредактировано: alexander.stoyan -
        Цитата alexander.stoyan @
        нужно WndProc объявить как static

        ExpandedWrap disabled
          class CFODC
          {
          ...
              static int CALLBACK WndProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
          } ;

        Спасиб большое :D

        Казалось бы мелочь, но сам бы я до этого не додумался :wall:
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0.0620 ]   [ 15 queries used ]   [ Generated: 11.06.26, 23:54 GMT ]