|
Hi,
thanks for reply but....
what exactly the m_ToolBar should be???!????
this is visual studio add in , i am using the IApplication interface.....
what type is the m_ToolBar??? can you be more specific?
Yaron
Ask not what your application can do for you,
Ask what you can do for your application
|
|
|
|
|
YaronNir wrote:
what exactly the m_ToolBar should be???!????
A CToolBar . Nevermind, I was pretty sure I had seen a CToolBar in my add-in code, but I was wrong.
Disabling the toolbar does not seem easy. Actually, the toolbar seems to be directly handled by Visual C++, and it will enable one or more button, depending on how maning commands you bind using the AddCommand, SettAddInInfo and AddCommandBar methods. i have no clue as whether it is only possible to disable the bar. Sorry to be a PITA on this question
~RaGE();
|
|
|
|
|
Hi everybody !
I would like to change the mouse cursor when an event happen. I used SetCursor but cursor is reseted when I move the mouse. I took a look at the doc and they say the class cursor for the window must be NULL !!
How can I acheive that ? I need also to have the cursor set to default when the event is finished!
Thanks
|
|
|
|
|
If you want the hourglass cursor displayed during lenghty operations:
CWaitCursor wait;
DoSomethingThatTakesTime();
Cheers,
Fredrik
"Felix qui potuit rerum cognoscere causas."
|
|
|
|
|
Thanks but it's not the hourglass cursor. In fact I click on a button on the toolbar (the zoom button) and my cursor changes into a zoom. When the user has selected the item to zoom, the cursor came back to an arrow.
|
|
|
|
|
The docs are right. You need to set the cursor for the window class to NULL. You also need to handle
the WM_SETCURSOR message too. This message is called by the OS when the mouse is moved.
If you want to immediately change the cursor, you use SetCursor as you have already seen.
So its a combination of all three things.
Iain.
|
|
|
|
|
Iain Clarke wrote:
The docs are right. You need to set the cursor for the window class to NULL
Ok right, ........ but how can I achieve that ?? This was my question
|
|
|
|
|
char __iainclass [] = "IainView";
BOOL CIainView::PreCreateWindow( CREATESTRUCT& cs )
{
WNDCLASS wc;
wc.style = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = ::DefWindowProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = cs.hInstance;
wc.hIcon = 0;
wc.hCursor = 0;
wc.hbrBackground= NULL;
wc.lpszMenuName = NULL;
wc.lpszClassName= __iainclass;
AfxRegisterClass (&wc);
cs.lpszClass = __iainclass;
return TRUE;
}
That's for MFC. To set wc.hCursor=NULL is even easier in SDK, as you have to explicitly create a class
in the first place.
Iain.
|
|
|
|
|
|
Handle WM_SETCURSOR, if you do it with the MFC classWizard, it will bring up a OnSetCursor() . Load your cursor in this function, and DO NOT CALL THE BASE CLASS, so put CDialog::OnSetCursor(..bla...) at the end of the function in comments.
~RaGE();
|
|
|
|
|
In control timer is organised as following.
according MSDN ATLButton:
Contol need be killed (UNLOAD) as fast as possible,
but timer usualy waits until last period finished:
parallel thread is slept for timer period and that called need method:
[code]
//interface must marchalled between threads
if (m_pStream)
hRes = CoGetInterfaceAndReleaseStream(m_pStream, *piid, (void**)&m_spT);
while(m_bTimerOn)
{
Sleep(m_dwTimerInterval);
if (!m_bTimerOn)
break;
//timing call
m_spT->_OnTimer();
}
[code]
Is there more fast or asyncronious methods of killing timer?
in that case if I call terminateThread - error happens.
Why so?
|
|
|
|
|
dont use sleep for your time... use SetTimer and KillTimer
Don't try it, just do it!
|
|
|
|
|
|
My ATL ActiveX is windowless(!),
no window with timer - except need to create additional for that.
(made on the base MSDN ATlButton)
I will read artilce -thanks you.
But have any timer code for not Window?
|
|
|
|
|
With what event to syncronize SuspendThread();?
How to set time interval ?
|
|
|
|
|
I have a dialog box which has several buttons and when I click one he button the following code is executed:
void CtimDlg::OnOk2()
{
RunUtility("tricrrx.rtss"); // runs my program called tricrrx.rtss
}
Works perfectly ok....
But,
When I close the dialog box, by clicking the [x] in the dialog box, the dialog box doesnt close, but instead works as if the above button (Ok2) is clicked i.e., runs my program once again..
what should do to overcome this?
Thanks,
Deepak Samuel
|
|
|
|
|
You've got your ::OnOk2() function mapped to the IDCANCEL dialog id.
This gets called when the user clicks the default Cancel button, or the Close Icon in the top right corner of your dialog.
The quickest solution I can see is to remove this function (using classwizard), then try again.
"..Even my comments have bugs!"
Inspired by Toni78
|
|
|
|
|
Hi,
I have a set of ranges, and individual values.
e.g. [0,100], 202, 203, 205, 230, [235, 10000] ...
I need a container to store them, with as-quick-as-possible test if a certain value is contained in the list (e.g. 42 would be in, 203 would be in, 206 would be out)
any ideas which I could (ab)use?
"Der Geist des Kriegers ist erwacht / Ich hab die Macht" StS
sighist | Agile Programming | doxygen
|
|
|
|
|
why not using a STL list?
Don't try it, just do it!
|
|
|
|
|
How can I get the main window of a process when I have get the process's handle or process ID in windows 2000?
Leon
|
|
|
|
|
Take a look at Paul DiLascia's CMainWindowIterator class.
HPS HwndSpy - GUI developer's aid to visually
locate and inspect windows. For the month of August
only, use coupon code CP-81239 for 30% off.
|
|
|
|
|
EnumWindows - It give you all the windows for the process
"It was when I found out I could make mistakes that I knew I was on to something."
-Ornette Coleman
|
|
|
|
|
hi all can anybosy throw some light in %ws formatting option in printf.
TIA
tarun
Blue Pill or Red Pill........??
|
|
|
|
|
There is no such thing, AFAIK neither %w nor %ws are standard replacement markers. Are you thinking maybe of %ls ? That inserts a Unicode string, zero terminated.
--Mike--
Ericahist | Homepage | RightClick-Encrypt | 1ClickPicGrabber
Latest art~!@#2rDFA#@(#*%$Rfa39f3fqwf--=
NO CARRIER
|
|
|
|
|
hi,
i went across this printf formatting options and on some googling i came across that it is ANSI C formatting options which specifies the width of string also.
i have seen some MS samples which are displaying this output format.
even i was able to do this using sprintf();
but the probelm is i do not know the details of this thing.
regards
tarun
Blue Pill or Red Pill........??
|
|
|
|