class TFormMain : public TForm
{
__published: // IDE-managed Components
private: // User declarations
public: // User declarations
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(MyTrayIcon,TMessage,MTIcon); //перехватывает щелчок по иконе в систрее
END_MESSAGE_MAP(TComponent);
};
Системный трей при переносе с C++ Builder 6 в С++ Builder 2006
Данный код создает иконку в системном трее
головной файл
Код:
файл реализации
Код:
//переменная
TNotifyIconData NID;
//Ловим двойной клик мыши по значку в системном трее
void __fastcall TFormMain::MTIcon(TMessage&a)
{
if(a.LParam==WM_LBUTTONDBLCLK)
Shell_NotifyIcon(NIM_DELETE,&NID);
}
TNotifyIconData NID;
//Ловим двойной клик мыши по значку в системном трее
void __fastcall TFormMain::MTIcon(TMessage&a)
{
if(a.LParam==WM_LBUTTONDBLCLK)
Shell_NotifyIcon(NIM_DELETE,&NID);
}
Ошибки компилятора
Код:
[BCC32 Error] MainUnit.cpp(14229): E2034 Cannot convert 'Shellapi::_NOTIFYICONDATAA *' to '_NOTIFYICONDATAA *'
[BCC32 Error] MainUnit.cpp(14229): E2342 Type mismatch in parameter 'lpData' (wanted '_NOTIFYICONDATAA *', got 'Shellapi::_NOTIFYICONDATAA *')
[BCC32 Error] MainUnit.cpp(14229): E2342 Type mismatch in parameter 'lpData' (wanted '_NOTIFYICONDATAA *', got 'Shellapi::_NOTIFYICONDATAA *')
Кто-нибудь знает что это за ошибки?
Попробуй объявить вместо
Код:
TNotifyIconData NID;
Код:
NOTIFYICONDATA nid = {0};