|
What other exit codes are there,
and with the first argument for the terminate process function.
I tired the code and for this segment
HANDLE hProcess = FindProcess(pstrProcessName,
dwId);
I get a compiling error saying it can't find the function FindProcess.
This is going to show how little I know about windows coding but what is a HANDLE?
Thankss
|
|
|
|
|
superstar4410 wrote:
What other exit codes are there,
Exit codes are application specific, with 0 usually indicating success.
superstar4410 wrote:
I get a compiling error saying it can't find the function FindProcess.
I cannot find it in MSDN. Do you know it to exist?
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
|
FindProcess() is a private method of the CKillProcess class. It can only be used within a CKillProcess object.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
where do I find the code to the CKillprocess class?
|
|
|
|
|
See here.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
i'm confused, the link just takes me to the discussion board
|
|
|
|
|
You referenced an article by Eugene Polonsky. The source code is in that article.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
Hello,
I have a CFormView in which i have a tabcontrol with two tabs and there are two dialog boxes which act as the pages for the tabs. Inside these dialog boxes i have added a CListCtrl which i would like to populate with data. These two dialog boxes have their own classes and I have added a variable to each of these dialog boxes pointing to the CListCtrl. However when i want to use this variable inside the Dialog class to populate the CListCtrl I notice that the CListCtrl hWnd = 0x00000000. I think this is the problem and does anyone know how to fix it?
thanks,
Lino
|
|
|
|
|
Do you have an entry for the list control in the dialog's DoDataExchange() method? At what point are you trying to populate the list control?
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
here it is:
the base code for this is from something published by Ben Hill on CTabCtrl applications.
//*View.h
CMyTabCtrl m_tabMyTabCtrl;
In OnInitialUpdate in my *View.cpp
void CTestTabCtrlThreeView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
m_tabMyTabCtrl.InsertItem(0, _T("Tab One"));
m_tabMyTabCtrl.InsertItem(1, _T("Tab Two"));
m_tabMyTabCtrl.Init();
}
//Init is a member function of the CMyTabCtrl Class
void CMyTabCtrl::Init(void)
{
m_tabCurrent=0;
m_tabPages[0]->Create(IDD_TAB_ONE, this);
m_tabPages[1]->Create(IDD_TAB_TWO, this);
m_tabPages[0]->ShowWindow(SW_SHOW);
m_tabPages[1]->ShowWindow(SW_HIDE);
SetRectangle();
}
void CMyTabCtrl::SetRectangle(void)
{
CRect tabRect, itemRect;
int nX, nY, nXc, nYc;
GetClientRect(&tabRect);
GetItemRect(0, &itemRect);
nX=itemRect.left;
nY=itemRect.bottom+1;
nXc=tabRect.right-itemRect.left-1;
nYc=tabRect.bottom-nY-1;
m_tabPages[0]->SetWindowPos(&wndTop, nX, nY, nXc, nYc, SWP_SHOWWINDOW);
for(int nCount=1; nCount < m_nNumberOfPages; nCount++)
{
m_tabPages[nCount]->SetWindowPos(&wndTop, nX, nY, nXc, nYc, SWP_HIDEWINDOW);
}
//below this point is where my code begins
//here i create a tmp object of type CTabOne which is derived from CDialog
CTabOne tmp;
tmp.Populate();
}
//CTabOne is the dialog box created to work with TabOne of the CTabCtrl
//and it has a data member of type CListCtrl m_TabOneList
void CTabOne::Populate(void)
{
CPersonInfo Person;
m_TabOneList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
//ListView_SetExtendedListViewStyle(rDest.m_hWnd, LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
//get client rect of list view control
RECT rect;
m_TabOneList.GetClientRect(&rect);
//delete all of the items in teh CListCtrl
//deletes all rows in the CListCtrl before populating
m_TabOneList.DeleteAllItems();
//open CRecordSet
if(Person.IsOpen())
Person.MoveFirst();
else
Person.Open();
//test to see if there are zero columns
if(m_TabOneList.GetHeaderCtrl()->GetItemCount() == 0)
{
//insert column headings
//rDest.InsertColumn(
m_TabOneList.InsertColumn(0, "First", LVCFMT_LEFT, rect.right/2);
m_TabOneList.InsertColumn(1, "Last", LVCFMT_LEFT, rect.right/2);
}
//loop to add rows to listview control
while(Person.IsEOF() == false)
{
//add each row
int row = m_TabOneList.InsertItem(m_TabOneList.GetItemCount(),Person.m_FirstName);
//set next column item
m_TabOneList.SetItemText(row, 1, Person.m_LastName);
//assign the row to an invisible column
m_TabOneList.SetItemData(row, Person.m_ID);
//move to next row
Person.MoveNext();
}
}
void CTabOne::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST1, m_TabOneList);
}
hope this helps.
Thanks for your Help.
Lino
|
|
|
|
|
lino_i wrote:
CTabOne tmp;
So is this a modal or modeless dialog? In either case, it looks as though the list control does not actually exist at the point in which you are attempting to populate it.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
that's why i am asking for help...can you help?
|
|
|
|
|
Controls on a dialog should not be messed with (e.g., populated, moved, sized, read from) before the dialog's OnInitDialog() method, or after the dialog has been dismissed.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
what does that mean...why are u being cryptic...i am coming here for answers not to have a philosophical discussion about MFC or any other language. I don't mean to be hostile but why are u being cryptic...do you have a solution if so please write it out. thanks, Lino
|
|
|
|
|
Anonymous wrote:
why are u being cryptic
Vs V jnf orvat pelcgvp, V jbhyq unir ercyvrq jvgu EBG-13!
Anonymous wrote:
i am coming here for answers not to have a philosophical discussion about MFC or any other language
There was nothing philosophical about the straightforward answer I gave you.
Anonymous wrote:
do you have a solution if so please write it out
I did everything (hint: use the OnInitDialog() method) but write the code for you. I did not think you wanted me to do all of your work!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
very funny with the cryptic notes above...good one...
you are not doing all of the work i have done most of it...and that is what a message board is for. we learn by example and as much as I and everyone try to learn on our own sometimes yes we do need to see the code and that is OKAY too!
The bottom line is that I don't know how to do it and that's it.
If you are still interested in helping.
When I added the to TabOne and TabTwo Classes which are the dialogs and derived from CDialog for the tabs where the list control is. The wizard never included the OnInitDialog() method...do you know why that is?
Lino
|
|
|
|
|
Anonymous wrote:
The bottom line is that I don't know how to do it and that's it.
Based on the code you provided, I just assumed that you knew your way around MFC.
Anonymous wrote:
The wizard never included the OnInitDialog() method...do you know why that is?
Even though ClassWizard did not add the OnInitDialog() method for you, that does not mean you cannot add it later either manually or by invoking ClassWizard again. For the former, just add to the dialog's .h and .cpp files. For the latter, select the dialog's class in the Class name: combobox, select WM_INITDIALOG in the Messages: listbox, then click the Add Function button. Now select the newly added item in the Member functions: listbox and click the Edit Code button.
Does that help?
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
that helps...i still have to figure out what goes in the OnInitDialog Box.
I figured that I needed to do something in the OnInitDialog Box but when the wizard didn't provide that method i guessed it wasn't necessary...
so at the risk of being blundt...what goes in the method?
thanks.
Lino
|
|
|
|
|
lino_i wrote:
what goes in the method?
The code that populates the list control.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
DavidCrow wrote:
The code that populates the list control.
David, now you are cryptic.
Well lino, In OnInitDialog you can do anything related to controls on the dialog. e.g., populating a list control (as is done here) or Creating an image list and bla bla. This is called just before OnPaint() method so it is advised to initialize your dialog controls here.
"Aerodynamically, the bumble bee shouldn't be able to fly, but the
bumble bee doesn't know it so it goes on flying anyway." - Mary Kay Ash
My Articles
|
|
|
|
|
I fail to see how your response is any "better" than mine. Given that he already has the code to populate the list control (in a method conveniently named Populate() ), it's simply a matter of moving that code to the OnInitDialog() method, or calling the method outright.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
Sorry David if I hurt You. I guess he was having problems related to the sequence of calls like which is called when. So, I just tried to explain that a bit.
"Aerodynamically, the bumble bee shouldn't be able to fly, but the
bumble bee doesn't know it so it goes on flying anyway." - Mary Kay Ash
My Articles
|
|
|
|
|
Hello:
I'm looking for any type of menu subclassing without using the MFC classes, (the mayor part of the examples in the web uses it), i would like use them in an application what i'm developing, but it don't use the MFC( these classes don't likes me ), and is late like to be able the change, please if someone knows how do this, explain me
Thank you.
|
|
|
|
|
I have never done owner drawn menus myself, I don't believe they are necessary as the default menus work just fine. But the easiest way to do it is to look at the samples on this site. Sure most of them are written using MFC, but all you have to remember is that MFC is just a wrapper around the WIN32 API. Anything that can be done in MFC can be done in Win32, it's usually just harder in Win32.
So when you see CMenu::DrawItem , you have to handle the WM_DRAWITEM message, CMenu::MeasureItem , WM_MEASUREITEM , etc.
See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/resources/menus.asp
[^] for more information on the Win32 menu functions.
"You're obviously a superstar." - Christian Graus about me - 12 Feb '03
"Obviously ??? You're definitely a superstar!!!" mYkel - 21 Jun '04
Within you lies the power for good - Use it! Honoured as one of The Most Helpful Members of 2004
|
|
|
|