|
Sarath.<fon wrote:<="" div="">We should do the cleanup.
Thanks.
Is it OK to do the cleanup in a method of the same class ("destroyInstance()") as I suggested ?
It seems a bit weird to me to destroy an class instance using a method inside it.
|
|
|
|
|
It's special no?
we are created it specially, So we have to do something specal to clean it up.
In this case, the destrcutor will not awake automatically.
you can use auto pointer. but i think it is not good way for handling the resources.
SaRath.
"It is your attitude, not your aptitude, that determines your altitude - Zig Ziglar."
My Blog | Understanding State Pattern in C++
|
|
|
|
|
Let me ask you one more question. What you will do to delete a static member pointer which holds allocated memory.
there you can create alot of objects. In which object's dtor, you can do the same? or any other idea?
same case here. manually cleanup the pointer.
do the same thing which we are supposed to do in the cleanup function. Instead of compiler put code, we are manually putting the code to destruct the object inside. is it ok? don't feel weird
SaRath.
"It is your attitude, not your aptitude, that determines your altitude - Zig Ziglar."
My Blog | Understanding State Pattern in C++
|
|
|
|
|
Another option is to have the function that returns the single instance written this way:
CMySingleton* CMySingleton::GetInstance()
{
static CMySingleton Instance;
return &Instance;
}
This way, everything will be managed automatically and you don't need to take care of releasing the memory. The disandvatage of this version is that you don't have any control over the creation time of the singleton (which is not a problem when you use one but can be problematic when you have a singleton that has a singleton as member for example).
Cédric Moonen
Software developer
Charting control
|
|
|
|
|
how we can use owner draw for list control and tab control.give any examples or any links ,
vasu.
|
|
|
|
|
I would advise to search in CP yourself , but for sake I searched a Link of my favourite author at CP:
http://www.codeproject.com/listctrl/lvcustomdraw.asp
Greeting from Germany
|
|
|
|
|
|
plz tell me how i can place picture or like on button and how to change font of button,
plz tell me example for this its a request......
plz...........
Ashish Dogra
MCA
Noida
|
|
|
|
|
for picture on a button Instead of Creating an object of type CButton do it for CBitmapButton and then set the Bitmap using LoadBitmap function. set the owner draw property of the button.
CBitmapButton m_bmpBtn; // In the header file
m_bmpBtn.LoadBitmaps (IDB_BITMAP1);
m_bmpBtn.SizeToContent ();
/////////To change the font . Type CButton. and Remove owner draw
m_bmpBtn.SetWindowText ("Hello");
CFont font;
font.CreateFont (10,10,2,3,2,0,0,0,0,0,0,0,0,"Arial");
m_bmpBtn.SetFont (&font);
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
-- modified at 7:41 Wednesday 5th July, 2006
|
|
|
|
|
thanks sir what
if i want to set both that means set font and color at same time then what is solution sir
plz tell me
Ashish Dogra
MCA
Noida
|
|
|
|
|
for piscture you need to two thing
(1)BS_BITMAP
(2)bitmap or image handle)<br />
m_Button.ModifyStyle(0,BS_BITMAP);<br />
m_Button.SetBitmap(hbitmap);
this handle hbitamp has one HBITMAP handle that return from one CBitmap or LoadImage
------------------
2-for Font you can use a simple function
m_Button.SetFont(GetFont());
whitesky
|
|
|
|
|
If you are considering CBitmapButton , see here.
"The largest fire starts but with the smallest spark." - David Crow
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
I want to change the bitmap on my toolbar button when user presses the button i.e. if initially its showing x bitmap then when user presses it it should show y bitmap on that coreesponding button
Thanx in advance
|
|
|
|
|
One way is to Set the owner draw property of the button to TRUE. Derive a class from CBitmapButton and override the DrawItem function in that derived class.
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
another way to do this is to have 2 toolbar buttons and show/hide them appropriately
cje
|
|
|
|
|
Hi,
i try to write a ISAPI Extension for Win CE 4.2 to view dynamic webpages.
The got the ISAPI environment working it can now read templatefiles and replace tags in the template but now i try to fill the page with data form a SQL CE 2.0 Server. As far as i know there is the only way to connect by using ole db. right?
i found the article about accessing MS SQL Server CE v1.0 / 2.0 without ADO object. I tried to implement it. When I call the included test function it tells me that SQL Server is running. And with the example application it's no problem to connect and create tables and so on.. but when i try to connect to my database it always fails.
Anyone can help me with this?
Her's my example code:
<br />
<br />
#include "stdafx.h"<br />
#include "WriteFunctions.h"<br />
#include "ReadFunctions.h"<br />
#include "SqlSvrCe.h"<br />
<br />
<br />
<br />
BOOL APIENTRY DllMain( HANDLE hModule, <br />
DWORD ul_reason_for_call, <br />
LPVOID lpReserved<br />
)<br />
{<br />
return true;<br />
}<br />
<br />
BOOL WINAPI GetExtensionVersion(HSE_VERSION_INFO *pVersion)<br />
{<br />
pVersion->dwExtensionVersion = MAKELONG(HSE_VERSION_MINOR, HSE_VERSION_MAJOR);<br />
<br />
strcpy(pVersion->lpszExtensionDesc, "ISAPI DB Connection");<br />
<br />
return true;<br />
}<br />
<br />
DWORD WINAPI HttpExtensionProc(EXTENSION_CONTROL_BLOCK *pECB)<br />
{<br />
HRESULT hr;<br />
WriteHTMLHeader(pECB);<br />
WriteHTMLHead(pECB, "ISAPI DB Connection");<br />
WriteHTML(pECB, "Checking SQL Server\r\n<br>");<br />
if (SqlServerSelfTest() != 0)<br />
{<br />
WriteHTML(pECB, "SQL Server CE not installed!\r\n<br>");<br />
<br />
} else {<br />
WriteHTML(pECB, "SQL Server CE installed!\r\n<br>");<br />
}<br />
<br />
hr = CreateSqlSvrCeProvider();<br />
WriteHTML(pECB, "Result : %d\r\n", hr);<br />
hr = ConnectDB(TEXT("\\StoreCard\\Tmp\\database.sdf"));<br />
if (FAILED(hr)){<br />
WriteHTML(pECB, "Can't Open\r\n<br>");<br />
}<br />
<br />
WriteHTMLFoot(pECB);<br />
<br />
return HSE_STATUS_SUCCESS;<br />
}
|
|
|
|
|
Can someone point me to the best control/class that I can plug in to a dialog app created in VC++ using MFC so that I can display a simple array of 27 numbers as a 2D profile. It doesn't need to have any runtime user input or customisation. My program calculates two arrays, and displays some numeric values based on them, but it would be nice if the user could see each of the two arrays plotted on a graph like they would see it in an Excel chart, ideally with the points joined by smoothed lines
tks in advance
|
|
|
|
|
See Here[^]
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
many thanks, I got that to work on the whole, but the rescaling of axes isn't working.
here is what i am doing, the x values go from 0 to 26, the y value are between 0 and 2, double values
// display chart
CChartSerie* pLineSerie = m_ChartCtrl.AddSerie(CChartSerie::stLineSerie);
CChartAxis* yaxis = m_ChartCtrl.GetLeftAxis();
CChartAxis* xaxis = m_ChartCtrl.GetLeftAxis();
yaxis->SetMinMax(0,2);
xaxis->SetMinMax(0,27);
double XValues[27];
for(int k = 0; k<27; k++)
XValues[k] = k;
pLineSerie->SetPoints(XValues,rowarray,27);
m_ChartCtrl.RefreshCtrl();
|
|
|
|
|
of course I immediately spot the error
should be
CChartAxis* xaxis = m_ChartCtrl.GetBottomAxis(); !!!!!
|
|
|
|
|
Hi all!
I am making a program with Win32 API and MSVC++ 2003 that lists running processes on users computer. It works well up to this point but i wanted to add an extra feature. Put a second list box and and filled it with names of processes that i don't want to show in main listbox. like "svchost.exe", "cfosspeed.exe", "spd.exe". I tried this in ListProcesses() function:
char chhh[260];
char tmprr[260];
do{
sprintf(chhh, "%s", pe32.szExeFile);
for(int r=0; r<SendMessage(hIgnore, LB_GETCOUNT, 0, 0); r++)
{
SendMessage(hIgnore, LB_GETTEXT, r,(LPARAM)(LPCTSTR) tmprr);
if(!stricmp(chhh, tmprr)){
found = 1;
}
else {
found = 0;
}
}
if(found==0){
LvItem.pszText=chhh;
LvItem.iSubItem=0;
ListView_InsertItem(hList, &LvItem);
LvItem.iSubItem=1;
LvItem.pszText="0";
ListView_SetItem(hList, &LvItem);
}
} while( Process32Next( hProcessSnap, &pe32 ) );
But it doesn't work. I tried to put for example "cfosspeed.exe" instead of tmprr, it ignored successfully.
by the way, hIgnore is hwnd of ignore list box.
Thanks!
|
|
|
|
|
I think you should reconsider your for loop like this:
bool found = false;
for( int r = 0; . . . )
{
SendMessage(hIgnore, LB_GETTEXT, r, (LPARAM)tmprr);
if( stricmp(chhh, tmprr) == 0)
{
found = true;
break;
}
}
if( ! found) . . .
I hope this helps.
|
|
|
|
|
It solved my problem. Thank you very much.
|
|
|
|
|
frbry wrote: SendMessage(hIgnore, LB_GETTEXT, r,(LPARAM)(LPCTSTR) tmprr);
I Suggest you to use LB_FINDSTRING
I think you can sort out the issue, if you debug the application.
frbry wrote: LvItem.pszText=chhh;
LvItem.iSubItem=0;
ListView_InsertItem(hList, &LvItem);
LvItem.iSubItem=1;
LvItem.pszText="0";
ListView_SetItem(hList, &LvItem);
One thing I noticed is that, you two times you are modifying teh iSubItems(the final value is 1).
In MSDN it's clearly saying that,
You cannot use ListView_InsertItem or LVM_INSERTITEM to insert subitems. The iSubItem member of the LVITEM structure must be zero
SaRath.
"It is your attitude, not your aptitude, that determines your altitude - Zig Ziglar."
My Blog | Understanding State Pattern in C++
|
|
|
|
|
I removed LvItem.iSubItem=0; line but the list couldn't be populated.
|
|
|
|