|
i used MoveWindow in the OnInitDialog().
MoveWindow( 0, 20, 100, 100, TRUE ); (e.g.)
but nothing happens. i want to define the function in the header, there comes an error. what's wrong?
lucky
|
|
|
|
|
MoveWindow works perfectly for me.
Lucky2002 wrote:
i want to define the function in the header, there comes an error
Which function? MoveWindow? It's already defined in standard headers, otherwise your program wouldn't even compile.
Tomasz Sowinski -- http://www.shooltz.com
*** Vodka. Connecting people. ***
|
|
|
|
|
i don´t know why, but now it works.
but a user can move the dialog. how can i change this?
lucky
|
|
|
|
|
In the dialog editor, remove 'Title' flag in dialog properties. If you want to keep caption bar in your window, then you'll have to override WM_NCHITTEST:
UINT CYourDlg::OnNcHitTest(CPoint point)
{
UINT ret = CDialog::OnNcHitTest(point);
if (HTCAPTION == ret)
{
ret = HTCLIENT;
}
return ret;
}
Tomasz Sowinski -- http://www.shooltz.com
*** Vodka. Connecting people. ***
|
|
|
|
|
I don´t need the title.....Thank you, functioned greatly !!!!!!!!!!
|
|
|
|
|
try:
WINDOWPLACEMENT wp;
GetWindowPlacement(&wp);
int x_size = GetSystemMetrics(SM_CXSCREEN);
int y_size = GetSystemMetrics(SM_CYMAXIMIZED);
wp.rcNormalPosition.bottom = y_size;
wp.rcNormalPosition.left = 0;
wp.rcNormalPosition.right = x_size;
wp.rcNormalPosition.top = 0;
wp.showCmd = SW_SHOW;
SetWindowPlacement(&wp);
p.s. Top left corner is (0,0), bottom right is (x_size, y_size)
Nitron
_________________________________________--
message sent on 100% recycled electrons.
|
|
|
|
|
Hi,
In a dialog based application, i have two combobox. The cursor is stay in the first combobox when i open the application (with different color in the main dialog window). And also the cursors will put on the two comboboxes when i resize the dialog window. Are these the focus problem?
How to delete these focus?
Thanks in advance
chen
|
|
|
|
|
i need to build an application and it needs to support some languages, how can i do it, how to change from one language to another?
|
|
|
|
|
|
|
Create some resource DLL's (dll that contains only resources without a code) for different languages. Type in CYourApp::InitInstance :
hI=LoadLibrary(....)
AfxSetResourceHandle(hI);
unfortunately switching of language on the fly without application reboot is difficult task since you must recreate all objects (menus, toolbars, dialogs and so on)
|
|
|
|
|
thanks i`ll try that, and what can you suggest me to change them on the fly?
|
|
|
|
|
I can't offer anything more cleverly as something like that example:
for(int i = 0; i < m_arrToolbars.GetSize(); i++) <br />
{ <br />
pToolbar = (CToolBar*)m_arrToolbars[i]; <br />
pToolbar->DestroyWindow(); <br />
delete pToolbar; <br />
}: <br />
<br />
... <br />
<br />
for(i = 0; i < m_arrToolbarIDs.GetSize(); i++) <br />
{ <br />
UINT nID = (UINT)m_arrToolbarIDs[i]; <br />
pToolbar = new CToolBar(); <br />
if (!pToolbar->CreateEx(m_pMainFrame, TBSTYLE_FLAT, WS_CHILD | <br />
CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, <br />
CRect(1,1,1,1), AFX_IDW_TOOLBAR + nID) || <br />
!pToolbar->LoadToolBar(nID)) <br />
{ <br />
TRACE(_T("Failed to create view's toolbar from Resource %d\n"), nID); <br />
delete pToolbar; <br />
continue;
} <br />
ASSERT(::IsWindow(pToolbar->GetSafeHwnd())); <br />
<br />
CString csTitle; <br />
csTitle.LoadString(m_arrToolbarTitleIDs[i]); <br />
pToolbar->SetWindowText(csTitle); <br />
<br />
m_arrToolbars.Add(pToolbar); <br />
}
But it's a very little part of changing interface - only for toolbars. Similarly you should execute such operation for all objects including all dialogs. However why you should make the complications to yourself? It is easier to reboot application
|
|
|
|
|
I need to address the Serial (COM1) port on NT kernel based systems (NT4 and Win2k). I read the articles in the system section, but they don't seem to cover what I'm looking for.
As I want to address some hardware I made myself, I need to have full control. I.E: I must be able to put DTR on high or low at will. The articles here assume baut-rate based comminucations are the way to go.
I'd rather not use the DDK, I don't even have it.
Suggestions? Ideas?
I'm thinking about using the MSCOMM32 ActiveX control, but I'm not too happy with it. I've been looking into ::CreateFile. I can open the com port without trouble, but there isn't functionality for directly reading and writing to the port.
Please help me out,
thanks in advance and kind regards,
Griffith
Everything you say will be misquoted, ripped out of context and used against you.
|
|
|
|
|
After you've opened the port with ::CreateFile you can use ::WriteFile to write to the port. Use ::SetCommState to control the DTR/RTS lines, the baud rate and parity settings via the DCB structure.
If a train station is where the train stops, what's a workstation...?
|
|
|
|
|
Thanks a lot!
Everything you say will be misquoted, ripped out of context and used against you.
|
|
|
|
|
I having trouble get any items to show in my CListView, I first tried this, from examples I found:
<br />
LV_ITEM lvi;<br />
lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM; <br />
lvi.iItem = index; <br />
lvi.iSubItem = 0; <br />
lvi.iImage = 0;<br />
lvi.pszText = LPSTR_TEXTCALLBACK; <br />
lvi.lParam = (LPARAM) pItem;<br />
<br />
if (GetListCtrl().InsertItem(&lvi) == -1)<br />
return FALSE;<br />
where pItem is a struct holding info about each item, e.g. all the text for each column(i'm using report view).and I message maped ON_NOTIFY_REFLECT(LVN_GETDISPINFO, OnGetDispInfo) and had this code to set all the column text:
<br />
void CTest::OnGetDispInfo(NMHDR* pNMHDR, LRESULT* pResult) <br />
{<br />
LV_DISPINFO* pDispInfo = (LV_DISPINFO*) pNMHDR;<br />
if (pDispInfo->item.mask & LVIF_TEXT) {<br />
ITEMINFO* pItem = (ITEMINFO*) pDispInfo->item.lParam;<br />
switch (pDispInfo->item.iSubItem) {<br />
case 0:
::lstrcpy(pDispInfo->item.pszText, pItem->date);<br />
break;<br />
case 1:
::lstrcpy(pDispInfo->item.pszText, pItem->name);<br />
break;<br />
case 2:
::lstrcpy(pDispInfo->item.pszText, pItem->size);<br />
break;<br />
}<br />
}<br />
*pResult = 0;<br />
}<br />
Which was pretty much from an example as well, which should set thetext for each column, my problem is nothing shows up the scrollbar apears so items are getting added but no text shows. I then tried just using GetListCtrl().InsertItem(index, "") and then use GetListCtrl().SetItemText(index, subIndex, "sometext") to set each coloumn but still the scrollbar showed but no text.
Has anyone had this problem, or can give me any help, maybe i'm doing something obviously wrong, thanks for any help.
oh sorry about the loss of format.
luke. - hope that all made sense
hmm it said i didnt fill out some fields, but they all are... hope it works this time
|
|
|
|
|
|
I cant find the implementation of say CMemoryException so I can pattern my class after it. THe .cpp files that came up in search of the MFC src folder didnt seem to have this class definition as far as I could see...
Thanks,
ns
|
|
|
|
|
It's in mfc\include - afx.h and afx.inl.
Tomasz Sowinski -- http://www.shooltz.com
*** Vodka. Connecting people. ***
|
|
|
|
|
How do you open an inl file? Doesnt open in Vstudio...
afx.h has the class definition, definitely useful. Now i need to find the body of the class...maybe its in the inl?
Thanks,
ns
|
|
|
|
|
ns wrote:
How do you open an inl file? Doesnt open in Vstudio...
Geez - did you parachuted from VB recently?
Just drag'n'drop the file or use File|Open.
Tomasz Sowinski -- http://www.shooltz.com
*** Vodka. Connecting people. ***
|
|
|
|
|
Thanks - but I stil didnt find the body of the functions.
and no, I am not too familiar with either VB or VC, (but want to be)
Thanks,
ns
|
|
|
|
|
Try to use Find in Files. Search in mfc\include and use CMemoryException:: (with two semicolons) as search string.
Tomasz Sowinski -- http://www.shooltz.com
*** Vodka. Connecting people. ***
|
|
|
|
|
derive from it and add ur own custom data if u want
Papa
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|