|
Hi ,,,,
How to disable Menu item in SDI application.
|
|
|
|
|
Add an ON_UPDATE_COMMAND_UI handler and corresponding handler to enable or disable menu items.
Something like...
ON_UPDATE_COMMAND_UI( ID_EDIT_CLEAR, ClearAll ), so ClearAll function should have the following signature...
afx_msg void ClearAll(CCmdUI *pCmdUI);
Call pCmdUI->Enable( FALSE ); to disable menuitem.
Nibu thomas
Microsoft MVP for VC++
Code must be written to be read, not by the compiler, but by another human being.
Programming Blog: http://nibuthomas.wordpress.com
|
|
|
|
|
simply add ON_UPDATE_COMMAND_UI event handler for that menu item.
and disable menu item. like
pCmdUI->Enable(FALSE);<br />
Mukesh Kumar
Software Engineer
|
|
|
|
|
Thanks!!!! it works fine ......
|
|
|
|
|
|
Hi,
Iam Using CTreeView to Construct a Tree. If i delete any node in the tree
it is collapsing.
void CRunSetView::DeleteFilters(HTREEITEM hselected)<br />
{<br />
CTreeCtrl& TreeCtrl = GetTreeCtrl();<br />
HTREEITEM Parent = TreeCtrl.GetParentItem(hselected);<br />
<br />
short nRunsetId = GetItemID(Parent);<br />
HTREEITEM ChildItem = TreeCtrl.GetChildItem(hselected);<br />
<br />
do<br />
{<br />
short nMapId = GetItemID(ChildItem);<br />
<br />
<br />
CMigratorClient* pManager = GetDocument()->GetManagerPtr();<br />
<br />
CMigratorDoc* cmap = GetDocument();<br />
_RecordsetPtr rsMap;<br />
rsMap.CreateInstance(__uuidof(Recordset));<br />
<br />
<br />
CString strSQL;<br />
strSQL.Format(_T("SELECT * FROM DQMap WHERE ID = %d"),nMapId);<br />
rsMap->Open( _variant_t( strSQL ), _variant_t(( IDispatch *) pManager->GetDatabasePtr(), <br />
true), adOpenStatic, adLockOptimistic, adCmdText);<br />
<br />
if ( !rsMap->GetEndOfFile() )<br />
{<br />
CString MapNm = VariantToStr( rsMap->Fields->Item["FilterName"]->Value );<br />
rsMap->Close();<br />
<br />
<br />
_RecordsetPtr rsMapDQ;<br />
rsMapDQ.CreateInstance(__uuidof(Recordset));<br />
strSQL.Format(_T("SELECT * FROM DQMap WHERE FilterName = '%s'"),MapNm);<br />
rsMapDQ->Open( _variant_t( strSQL ), _variant_t(( IDispatch *) pManager->GetDatabasePtr(), <br />
true), adOpenStatic, adLockOptimistic, adCmdText);<br />
<br />
while( !rsMapDQ->GetEndOfFile() )<br />
{ <br />
<br />
nMapId = _ttoi( VariantToStr( rsMapDQ->Fields->Item["ID"]->Value ));<br />
<br />
<br />
short mapid;<br />
<br />
<br />
<br />
CMigratorClient* pManager = GetDocument()->GetManagerPtr();<br />
pManager->DeleteRunSetMap(nRunsetId,nMapId);<br />
<br />
cmap->deletefilters(nMapId);<br />
<br />
rsMapDQ->MoveNext();<br />
<br />
<br />
}<br />
rsMapDQ->Close();<br />
}<br />
<br />
<br />
}while((ChildItem = TreeCtrl.GetNextSiblingItem(ChildItem))!=NULL);<br />
<br />
HTREEITEM item = GetRootItem();<br />
DeleteItem(item);<br />
OnInitialUpdate();<br />
<br />
<br />
return;<br />
}<br />
Plz look at it , give any idea.
|
|
|
|
|
I'm writing a MFC application and I want to make it run when window start. I found an article in CodeProject but it is written in VB. Some one can help me, plz ...
|
|
|
|
|
Just put your application in startup. It will run when windows start.
Mukesh Kumar
Software Engineer
|
|
|
|
|
|
ok...
then add your application's path under
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run" registry key.
Mukesh Kumar
Software Engineer
|
|
|
|
|
Can I know why my answers are voted down?
Mukesh Kumar
Software Engineer
|
|
|
|
|
I wonder if you could show me how to write those codes in C++/MFC ? ( I have an assignment with that problem ...
|
|
|
|
|
Oh... It means if I write complete code for your assignment then it is ok, otherwise you will voted down my answers.
Hints are not enough for you.
Thanks buddy...
Mukesh Kumar
Software Engineer
|
|
|
|
|
I don't mean so. If you know any useful function about that problem you can tell me & I'll make my own code ... Anyway, thanks for your reply. Ofcourse, I'll vote for you
|
|
|
|
|
I need help,I need construct a suffix tree for large string data.
content:the string is read from a inputfile(*txt).The size of the txt should be over 30M.the string include only A,G,C,T.(biography sequence).
the output should include string match and the LCP.
And I cannot solve this problem.
so I help all of you.
Please help me with solve this problem.
thank you all.
|
|
|
|
|
|
dear everyone,
now I have a problem .I can't call dll array ,which is fortran's
who can help me.
thank you greatly.how to use the dll declaretion.
email:yuhongwei4101@126.com
|
|
|
|
|
I have not gone through all of the sub-posts but I found this.
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=16115&SiteID=1[^]
Hope it helps!
I have a blog but I won't link it because some people can't take sarcasm. I might hurt someone's feelings! Check the 'email' button on a post of mine if you want the blog address. If you know the blog address and post something back at CP about whatever I post, you are a hypocrite.
|
|
|
|
|
Maybe a new entry [^].
(sorry for the extra-work)
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
As we all know.the control of VC++6.0 is very ugly!How to change the Scrollbar's color and picture of CTreeCtrl control in VC++6.0?
|
|
|
|
|
who can help me ? The knowlege about this is very little on internet.
|
|
|
|
|
Hi,
Does anyone know if a thread name has been set is there anyway to retrieve it ???
|
|
|
|
|
ForNow wrote: Does anyone know if a thread name has been set is there anyway to retrieve it ???
Do you mean thread name for the debugger, the simple way is to remember the name that you have [set for the thread^], you may use [thread local storage^] to store the name but not required.
|
|
|
|
|
Actually in processing my DLL_THREAD_ATTACH I only want to process certin threads and I was thinking of Getting the thread name and comparing it to see if its the thread I want to process
However there doesn't seem to bet a GetThreadName API
|
|
|
|
|
Then don't think about debugger SetThreadName, It is available for debugging purpose, if the debugger is not attached then no use you should not use that for final product.
You may use [Thread Local Storage win32 API^] to store the name of the thread at a particular index and retrieve the value.
|
|
|
|