|
Keep in mind that an Icon resource can contain multiple images in many sizes and color depths. The operating system attempts to load the best icon for the situation. In your case, you may have edited the 32x32 icon but not the 16x16 icon used for the upper left corner.
|
|
|
|
|
Hello,
I am writing a program about using the CSliderCtrl (vc provided) to control the ruler.
There is also a scroll bar for the ruler. (Sometimes the ruler length may be too long)
All I want is when I dragging the slider, the interval between two meter unit of the ruler will be changed automatically.
The ruler I used is this : http://www.codeproject.com/KB/miscctrl/uhrulerctrl.aspx
Now the interval between two meter unit would be changed when I dragged the slider.
But there's another problem. The problem is the ruler will jump to the start meter of the ruler automatically. (The scrollbar is activated)
I want the ruler can keep the original position when I dragged the slider.
(The ruler can keep the original position by a scrollbar in the demo project)
I tried some methods but the ruler always jump to the start meter...
Can someone help me to solve this question ?
Below is my part code :
void CtrlRulerDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)<br />
{ <br />
SCROLLINFO si;<br />
m_ScrollBar.GetScrollInfo( &si , SIF_ALL );<br />
INT iScrollPos = si.nPos;<br />
int i = 0;<br />
<br />
switch( nSBCode ) {<br />
case TB_PAGEDOWN:<br />
si.nPos += 5;<br />
i = m_Slider.GetPos();<br />
break;<br />
case TB_PAGEUP:<br />
si.nPos -= 5;<br />
i = m_Slider.GetPos();<br />
break;<br />
case TB_THUMBTRACK:<br />
i = m_Slider.GetPos();<br />
si.nPos = i*10;<br />
break;<br />
};<br />
<br />
si.fMask = SIF_POS;<br />
<br />
if( iScrollPos != si.nPos )<br />
{<br />
m_ScrollBar.SetScrollInfo( &si );<br />
UpdateData();<br />
m_HRuler.SetMilimeterPixel(i); <br />
m_HRuler.SetScrollPos( m_nScrolPos ); <br />
m_HRuler.Invalidate(); <br />
}<br />
<br />
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);<br />
}<br />
My Environment is : Windows Vista SP1, VS 2005 SP1, MS Platform SDK 2003 SP1
Thank you very much!
|
|
|
|
|
Hi all,
I have a static control which i converted into a hyperlink control. Whenever i needs to set focus to this control, i done it using "DrawFocusRect()". Now what should be done in order to remove that focus rectangle.
Please suggest.
By default, the color of the hyperlink is appearing black. I need to change it to blue(default) and violet (when visited).
Please suggest.
|
|
|
|
|
Typically, calling DrawFocusRect a second time with the same coordinates erases the rectangle.
What version of Visual C++ are you using? 2003 and later have a hyperlink control (CLinkCtrl) that is not very well documented until VS2008, but still usable. If you want to use it, it is a little tricky to set up since there is no item in the toolbox for it, but if you drop a custom control on the dialog and set the window class to "SysLink" and give it a non IDC_STATIC ID, all the goodies for it come alive and you can add event handlers, etc. It will do all the visited, focused, etc. on its own.
|
|
|
|
|
I am using VS2003 but i did'nt use CLinkCtrl. I created a seperate class which converts the static text to hyperlink control.
|
|
|
|
|
I use ado _RecordsetPtr to get an item from oracle database using GetValue()to read a field named Source which is of varchar2(10) datatype.
variant_t vtSource = rst->Fields->GetItem("SOURCE")->GetValue();
Can anyone show me sample code on how to convert vtSource which is of variant_t data type to char* or char array or const char* or CString data type?
|
|
|
|
|
yklim wrote: variant_t vtSource = rst->Fields->GetItem("SOURCE")->GetValue();
if you meant _variant_t then take a look at _bstr_t
led mike
|
|
|
|
|
CString has an overloaded = operator for VARIANT type so long as the variant is filled with BSTR data (ie what you would get from ADO) so you could do this:
VARIANT vt;<br />
CString str; <br />
<br />
<br />
str=vt;<br />
|
|
|
|
|
|
Does this make sense?
When I enable breakpoints, the code at the breakpoints gets executed and things appear to work as expected.
When I DON’T ENABLE breakpoints, the code at the breakpoints DOES NOT get executed.
It doesn’t make sense that enabling/disabling breakpoints would control if a piece of code is reached or not.
I'm debugging an MFC app I created in VS2005. I am running the DEBUG version and attaching to the process.
When I disable the breakpoints, nothing happens (I have used message boxes/print statements in place of breaks to see if code reached.)
|
|
|
|
|
john john mackey wrote: I have used message boxes/print statements in place of breaks to see if code reached
It could be possible that message boxes are unable to be created. Why don't you instead try using OutputDebugString() ? Are you sure this is not a problem with Debug/Release builds?
Waldermort
|
|
|
|
|
Is there any way to hide a process (not window) from the windows task manager?
Nice Guyz go to heaven, Bad guyz go wherever they want.
|
|
|
|
|
Why would you want to do something like that? One suspects for evil purposes...
Steve
|
|
|
|
|
|
No because maybe you can to hide it of Task Manager but other programs can to see it.
|
|
|
|
|
I just jumped into this project, for years the rule was "never delete a line of code". You can imagine the mess and how hard it can be to find the "right" function actually called for a task.
Does anyone know of a tool that will list me all classes, members, functions, struct, etc... that are NOT called or used by anyone else? Something like a linker option perhaps? Project is compiled under Visual Studio 2003.
I tried a few code mapping tools, but with 600K+ lines of code, thousands of classes and fucntions in hundreds of libraries, I need a black-list not a withe-list to compare too.
Thanks,
AFN
|
|
|
|
|
You could try using Visual Assist from www.wholetomato.com
Waldermort
|
|
|
|
|
Is there any API from which i can get the name of Service under which an executable is running .Pls help me.
Thanx
Sunit
never say die
|
|
|
|
|
|
Thanx a lot
never say die
|
|
|
|
|
|
Hi everybody;
When I try to create a new project (c#,c++ etc.) on Microsoft Visual Studio Professional edition, I got this error message "Requested registry access is not allowed!" and creation of new project fails.
My OS is Windows Vista Home Basic. This problem appeared recently but I cannot fix it.
What can I do? Any suggestions?
Thanx everybody for reading...
|
|
|
|
|
Are you running VS as an administrator?
"Love people and use things, not love things and use people." - Unknown
"The brick walls are there for a reason...to stop the people who don't want it badly enough." - Randy Pausch
|
|
|
|
|
Yes my friend, I also try it!
I make a bit research in Registry for example under HKEY_CLASSES_ROOT some key start with ._sln* are not accessable. Maybe it is a clue?
|
|
|
|
|
Thanks for putting up with my many queries.
I have reached this stage:
// wn = the handle of the current window
#define OUCH MB_ICONEXCLAMATION
HDC dc=GetDC(wn); HDC dc2=CreateCompatibleDC(dc);
char t[256]; BITMAP bm;
.... // Here I set the elements of bm
sprintf(t,"%d: %d * %d, width = %d, %d planes, bpp = %d, pixels at %d",
bm.bmType,bm.bmWidth,bm.bmHeight,bm.bmWidthBytes,bm.bmPlanes,bm.bmBitsPixel,int(bm.bmBits));
MessageBox(0,t,"set up hbm",OUCH);
// This displays 0, 600, 600, 1800, 1, 24, 28180544 :: all correct as far as I can see;
// here 28180544 pointed to the pixel array of a valid image (a CGI image of two frogmen)
HBITMAP hbm=CreateBitmapIndirect(&bm);
BITMAP bm3; GetObject(hbm,sizeof(BITMAP),(void*)(&bm3));
sprintf(t,"bm3 is type %d, %d * %d, each row %d bytes, %d planes, bpp=%d, pixels at %d",
bm3.bmType,bm3.bmWidth,bm3.bmHeight,bm3.bmWidthBytes,bm3.bmPlanes,bm3.bmBitsPixel,int(bm3.bmBits)); MessageBox(0,t,"size",OUCH);
// This displays 0, 600, 600, 1800, 1, 24, 0
Please, what happened to my image's pixel array or its address?
|
|
|
|