|
The found index or (-1) will be returned :
int CYourWnd::TryToFindInBox(const CString& cszWhat)
CString cszBoxText;
GetDlgItemText(IDC_EDIT1, cszBoxText);
return cszBoxText.Find(cszWhat);
} Check your definition of Irrationality[ ^]
1 - Avicenna
5 - Hubbard
3 - Own definition
|
|
|
|
|
In addition to what Eugen Podsypalnikov mentioned, may be you can use EM_SETSEL message to highlight the selected text.
Other option would be to use a Rich Edit control and EM_FINDTEXTEX message.
|
|
|
|
|
I have Developed an application using VC++ 10 (VS 2010 RC) to create a document/view architecture with Ribbon Menus and a Outlook Bar pane with (CMFCOutlookBarTabCtrl) The First time I have created the bar it appears like what my codes were implemented it but after I have customize The bar in running Mode. I can't see changes I have made in code after rebuilding the application. It seems that It save the previous state of outlook bar. what should I do to so that I could see it in the way my code implements.
|
|
|
|
|
What changes are meant exactly, please ? Check your definition of Irrationality[ ^]
1 - Avicenna
5 - Hubbard
3 - Own definition
|
|
|
|
|
This is my code for CMFCOutlookBarTabCtrl:
BOOL CMainFrame::CreateOutlookBar(CMFCOutlookBar& bar, UINT uiID, int nInitialWidth)
{
bar.SetMode2003(FALSE);
BOOL bNameValid;
CString strTemp;
bNameValid = strTemp.LoadString(IDS_SHORTCUTS);
ASSERT(bNameValid);
if (!bar.Create(strTemp, this, CRect(0, 0, nInitialWidth, 32000), uiID, WS_CHILD | WS_VISIBLE | CBRS_LEFT))
{
return FALSE;
}
CMFCOutlookBarTabCtrl* pOutlookBar = (CMFCOutlookBarTabCtrl*)bar.GetUnderlyingWindow();
if (pOutlookBar == NULL)
{
ASSERT(FALSE);
return FALSE;
}
pOutlookBar->EnableInPlaceEdit(TRUE);
DWORD dwPaneStyle = AFX_DEFAULT_TOOLBAR_STYLE | CBRS_FLOAT_MULTI;
DWORD dwStyle = AFX_CBRS_FLOAT | AFX_CBRS_AUTOHIDE | AFX_CBRS_RESIZE;
static UINT uiPageID = 10;
_m_OutlookPane1.Create(&bar, dwPaneStyle, uiPageID++, dwStyle);
_m_OutlookPane1.SetOwner(this);
_m_OutlookPane1.EnableTextLabels();
_m_OutlookPane1.EnableDocking(CBRS_ALIGN_ANY);
pOutlookBar->AddControl(&_m_OutlookPane1, _T("Scene*"), 0, TRUE, dwStyle);
_m_OutlookPane2.Create(&bar, dwPaneStyle, uiPageID++, dwStyle);
_m_OutlookPane2.SetOwner(this);
_m_OutlookPane2.EnableTextLabels();
_m_OutlookPane2.EnableDocking(CBRS_ALIGN_ANY);
pOutlookBar->AddControl(&_m_OutlookPane2, _T("Walls*"), 1, TRUE, dwStyle);
_m_OutlookPane3.Create(&bar, dwPaneStyle, uiPageID++, dwStyle);
_m_OutlookPane3.SetOwner(this);
_m_OutlookPane3.EnableTextLabels();
_m_OutlookPane3.EnableDocking(CBRS_ALIGN_ANY);
pOutlookBar->AddControl(&_m_OutlookPane3, _T("Furnitures*"), 2, TRUE, dwStyle);
_m_OutlookPane4.Create(&bar, dwPaneStyle, uiPageID++, dwStyle);
_m_OutlookPane4.SetOwner(this);
_m_OutlookPane4.EnableTextLabels();
_m_OutlookPane4.EnableDocking(CBRS_ALIGN_ANY);
pOutlookBar->AddControl(&_m_OutlookPane4, _T("Decorations*"), 3, TRUE, dwStyle);
_m_OutlookPane5.Create(&bar, dwPaneStyle, uiPageID++, dwStyle);
_m_OutlookPane5.SetOwner(this);
_m_OutlookPane5.EnableTextLabels();
_m_OutlookPane5.EnableDocking(CBRS_ALIGN_ANY);
pOutlookBar->AddControl(&_m_OutlookPane5, _T("Lights*"), 4, TRUE, dwStyle);
_m_OutlookPane2.SetDefaultState();
bar.SetPaneStyle(bar.GetPaneStyle() | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
pOutlookBar->SetImageList(IDB_TABPANESHC, 24);
pOutlookBar->RecalcLayout();
BOOL bAnimation = theApp.GetInt(_T("OutlookAnimation"), TRUE);
CMFCOutlookBarTabCtrl::EnableAnimation(bAnimation);
bar.SetButtonsFont(&afxGlobalData.fontBold);
return TRUE;
}
Because I have used pOutlookBar->EnableInPlaceEdit(TRUE); user can change the title of outlook bars
and after I have changed them while running once, any changes in source became effectiveness and when I rebuild The whole Project from beginning it appears the same as I have changed while running, and not from my source code.
|
|
|
|
|
OK
After the creating of CMainFrameWnd (with all inside) -
you could call SaveState(<DefaultProfile>) explicitly...
Then will be called LoadState(<LastProfile>),
that has been saved at the last exiting...
Your toolbar could provide a command for LoadState(<DefaultProfile>)
to load the init state after the creating
2. You can prevent a part of or the whole loading
3. The saved data could be found (and deleted) in registriesCheck your definition of Irrationality[ ^]
1 - Avicenna
5 - Hubbard
3 - Own definition
modified on Tuesday, March 9, 2010 11:17 AM
|
|
|
|
|
Thank you for spending time to solve my problem.
I could not found the CMainFrameWnd::SaveState method, But the CMainFrameWnd could implement the CMainFrameWnd::SaveBarState(..) method Which takes CWinApp::m_pszProfileName as it's Argument.
But even using this method didn't solve my problem even I have searched the whole registery and Profile for value of m_pszProfileName But I did not found any result, I know It 's saved somewhere because when I compiled It in an other profile the frame look the same as it's source implement it. This problem really Bother me.
|
|
|
|
|
Thanks I found the answer the whole setting is stored in
HKEY_CURRENT_USER\Software\Local AppWizard-Generated Applications\%ApplicationName%
and I should delete this registry.
|
|
|
|
|
I am having the same problem and have to delete the registry entry. I wonder which part writes it to the registry, Visual Studio or my Application? And how do I disable writing to the registry either in the Visual Studio or in Application?
|
|
|
|
|
Of course the Application is responsible for saving registry info, you could test it with running release build explicitly from Bin file and changing the application custom setting, and the registry key Name is stored in your main application class cpp file (class drived form CWinAppEx) in the CwinAppEx::::InitInstance() method in the
SetRegistryKey(_T("Local AppWizard-Generated Applications")); but I have no idea of where it save the custom styles. It should be some where after whole main frame is created.
|
|
|
|
|
Yes, you could use your CWnAppEx::SaveState(..) and CWinAppEx::LoadState(...) virtual void BeHappy() = 0;
|
|
|
|
|
Any dynamic changes you make while your app is running are not saved into your source code. If you want changes to be permanent then you need to make them in your source code, before you rebuild. txtspeak is the realm of 9 year old children, not developers. Christian Graus
|
|
|
|
|
I think i couldn't discuss the problem clearly, I mean I have changed the application in running mode, know the application rebuilds every time in the way I have changed it in running mode and every change I have made in source code became defectiveness.
|
|
|
|
|
Hey,
i develop a application to control usb-devices under windows xp with winddk and i get everytime ERROR_GEN_FAILURE if i tried to connect.
i get a devicepath for every device connected to my computer with "SetupDiGetInterfaceDeviceDetail/SetupDiEnumDeviceInfo/..", then i tried to create a handle. If i connect to my keyboard or mouse i get this error code with "CreateFile" and if i use my mp3-player "CreateFile" works and i get this error code with "DeviceIoControl".
ERROR_GEN_FAILURE (31) = "A device attached to the system is not functioning."
my devices are working fine on windows xp without any problems.
thangs
|
|
|
|
|
Hi all,
i m working on dialog box type aplication.
i m using many controls,bitmaps over the button and background color for dialog box.
after some time of using application, application takes time to repaint the dialog box.
please tell me how can i recove it ,so dialog box display easily instead of time taken in repainting.
thanks in advance.
|
|
|
|
|
it depends on the actions performed by each controls or the size of the bitmap etc.
Please check that also.
Your system spec also have considerable role..
|
|
|
|
|
When just start the application its working fine,but after some time its behaves like this.
its occur on simple dialog box restore and Domodal of dialog box etc,here no button function is performed.
please help me what can i do 4 this.
thanks in advance.
|
|
|
|
|
May be you can check for GDI leaks & memory leaks in your application. I think you can use Task Manager to verify it.
|
|
|
|
|
Is it working fine in the initial startup?
You mentioned above,"After some time use of application, application takes time to repaint the dialog box".
thats why i am asking so...
|
|
|
|
|
I think there is memory leak in your application. Check all the allocated memory status. After use release all allocated memory. Check it especially in bitmap loading code.
Good Luck...
|
|
|
|
|
Output window is like this
‘Test.exe’: Loaded 'C:\Windows\System32\ntdll.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\kernel32.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\user32.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\gdi32.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\advapi32.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\rpcrt4.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\msimg32.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\comdlg32.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\msvcrt.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\shlwapi.dll'
‘Test.exe’: Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.6002.18005_none_5cb72f96088b0de0\comctl32.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\shell32.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\winspool.drv'
‘Test.exe’: Loaded 'C:\Windows\System32\oledlg.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\ole32.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\oleaut32.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\winmm.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\oleacc.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\imm32.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\msctf.dll'
‘Test.exe’: Loaded 'C:\Windows\winsxs\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.0.6002.18005_none_9e50b396ca17ae07\GdiPlus.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\lpk.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\usp10.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\uxtheme.dll'
‘Test.exe’: Loaded 'C:\Windows\System32\dwmapi.dll'
Detected memory leaks!
here i found Detected memory leaks!,but i dont know how can get the location of this memory leak,
how can get at which porint or on wich function memory leaks.
please help me for this.
thanks.
|
|
|
|
|
Can i see your code for loading the bitmap...?
|
|
|
|
|
For buttons i use this.
CBitmapButton m_t_btn;
m_t_btn.LoadBitmaps(IDB_B_N, IDB_B_P, IDB_B_N, IDB_B_P);
m_t_now_btn.SizeToContent();
here IDB_B_N and IDB_B_P
and on dialog box i m using picture ctrl pf bitmap type and provide image id to used
|
|
|
|
|
Is any memmory leak from CBitmapButton class..?
Use this utility separately in a test app to check the behavior...
|
|
|
|
|
actully i dont know how can i detected memory leak in application,
so how can i know memory leak occur from CBitmapButton or not.
|
|
|
|