02.02.2006
|
|
Здравствуйте, Игорь Вартанов, Александр Шаргин, Вы писали:
ИВА>Статья: ИВА>Как добавить всплывающие подсказки для элементов управления диалога? до кучи к WinAPI и MFC — как то же самое делается в WTL: добавляем в данные диалога CToolTipCtrl (atlctrls.h):
в OnInitDialog() вставляем инициализацию tooltip_: [ccode] LRESULT CMainDlg::OnInitDialog( UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/ ) { ... // создание тултипа tooltip_.Create( m_hWnd, rcDefault, NULL, WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP, WS_EX_TOPMOST ); ATLASSERT( tooltip_.IsWindow() ); //Связываем контролы с тултипами ATLVERIFY( tooltip_.AddTool( &CToolInfo( TTF_SUBCLASS, |
|
30.12.2005
|
|
Глава из книги "Beyond the C++ Standard Library: An Introduction to Boost".
Рассматриваются все типовые случаи применения bind — связывание свободных функций, функций-членов класов, переменных-членов, виртуальных функций, а также функциональная композиция. На простом примере поясняется идея, лежащая в основе реализации bind. |
|
05.06.2005
|
|
Здравствуйте, <Аноним>, Вы писали:
А>Как изменить сабж у PropertySheet? [ccode] class CCfgSheet: public CPropertySheetImpl<CCfgSheet> { public: typedef CPropertySheetImpl<CCfgSheet> sheetBase; // 3 CCfgSheet(); ~CCfgSheet(); BEGIN_MSG_MAP( CCfgSheet ) CHAIN_MSG_MAP( sheetBase ) MESSAGE_HANDLER( WM_SHOWWINDOW, OnShowWindow ) END_MSG_MAP() // Since WTL's CPropertySheet does not receive a WM_INITDIALOG message, // this needs to be called to handle the remaining initialization tasks LRESULT OnShowWindow( UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled ); protected: ... }; // Since WTL's CPropertySheet does not receive a WM_INITDIALOG message, // this needs to be called to handle the remaining initialization tasks LRESULT CCfgSheet::OnShowWindow( UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled ) { SetIcons(); SetRussianBtn(); |
|
01.05.2005
|
|
Здравствуйте, <Аноним>, Вы писали:
А>На диалоги есть несколько групп radio button, как указать к какой группе какая относится? Надо расставить их по-порядку в Tab Order (Ctrl-D при редактировании ресурса диалога). Назначаешь самому первому свойство Group = True, дальше в порядке Tab Order идет его группа, пока не встретится снова radio button с Group = True, с него начнется новая группа, ну и т.д. |
|
24.04.2005
|
|
Здравствуйте, LordWin, Вы писали:
LW>Как имея Dll которая была написана для експорта в Visual Basic (стянул у автора а обратного адреса для мыла у него нету) перенести в Visual C++ 7 .NET ???? LW>Visual C++ 7 .NET говорит что .lib файл неподходит или же битый .... 1. берем проект, в котором надо использовать твою mdmxsvr.dll, подключаем h и lib, какие есть:
ага, lib-а не нравится:
2. Создаем свою (IMPDEF.exe из комплекта Borland C++ Builder):
получился mdmxsvr.def: [ccode] LIBRARY MDMXSVR.DLL EXPORTS MDMX_Close @4 ; MDMX_Close MDMX_GetDMXTransmissions @3 ; MDMX_GetDMXTransmissions MDMX_OpenSerialDevice @1 ; MDMX_OpenSerialDevice |
|
28.12.2004
|
|
— Как прикрутить к моей программе преобразование из текста в голос?
— А как получить список установленных голосов? — А если нужно не проговаривать, а создавать из текста аудиофайл? |
|
21.09.2004
|
|
OE>>Как в ATL клиенте подписываться на события надо объяснять?
E>ДА! Ok, например в клиенте есть диалог, в котором нужно ловить события от COM-сервера:
добавляем туда следующие вещи (см. выделенное): [ccode] #import "MyCOM.dll" no_namespace, named_guids // произвольное число, удобно когда подключение идет к событиям сразу нескольких компонент #define IMYINTRFID 1 class CMainDlg : public CAxDialogImpl<CMainDlg> , public CDialogResize<CMainDlg> , public IDispEventImpl<IMYINTRFID, CMainDlg, &DIID___IMyIntrfEvent, &LIBID_MYCOMLib, 1, 0> { IMyIntrfPtr pMyIntrfPtr; // номер метода-события (0x1) смотрим в idl сервера или в // mycom.tli, который создаст #import BEGIN_SINK_MAP( CMainDlg ) SINK_ENTRY_EX( IMYINTRFID, DIID___IMyIntrfEvent, 0x1, OnFirstMethod ) END_SINK_MAP() |
|
03.06.2004
|
|
Здравствуйте, Carc, Вы писали:
C>Как получить текст горячей клавиши? C>Т.е. я юзую какую нить к примеру Ctrl+A у себя в приложении, причем есессно клавиша может меняться пользователем, как мне получить текст который отображать в меню (типа какой нить "Ctrl+A"), пробовал тот же GetKeyName но что я не смог разобраться.... хелп посмотреть исходники MFC-шного CHotKeyCtrl::GetHotKeyName(): [ccode] CString GetKeyName( UINT vk, BOOL fExtended ) { LONG lScan = MapVirtualKey( vk, 0 ) << 16; // if it's an extended key, add the extended flag if ( fExtended ) lScan |= 0x01000000L; TCHAR sz[ 100 ]; ::GetKeyNameText( lScan, sz, 100 ); sz[ 99 ] = 0; return CString( sz ); } CString GetHotKeyName( DWORD hk ) { static const TCHAR szPlus[] = _T( " + " ); CString strKeyName; WORD wCode; WORD wModifiers; wCode = LOBYTE( LOWORD( hk ) ); wModifiers = HIBYTE( LOWORD( hk ) ); if ( wCode != 0 || wModifiers != 0 ) { |
|
07.07.2004
|
|
Есть окно с Edit, нужно программно переключить язык ввода.
|
|
19.03.2002
|
|
Можно ли заменить стандартный хелп, который подключается при создании проекта в AppWizard-е на HTML хелп, так чтобы он работал как обычный хелп, и если можно то как.
|
|