|
When SWP_NOSIZE is used with SetWindowPos() the width you are specifying is ignored. Remove SWP_NOSIZE and see.
|
|
|
|
|
But its not working.Same assertion error.
Anu
|
|
|
|
|
What's it asserting?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Assertion in winocc.cpp.
Lets explain my actual problem.
Actuallu i want my dialog placed in left side of the screen.So i use
SetWindowPos(NULL,0,80,400,900,SWP_NOSIZE);
If i use other than SWP_NOSIZE,then dialog comes to center of my screen.
And also i have one button,if i press that the widtrh of the dialog get reduced like from 400 to 100.
So i use
SetWindowPos(NULL,0,80,200,900,SWP_NOSIZE);
in the function of that button.But i shows assertion error in this setwindowpos().
properties of dialog are
Border:None,Style:popup
Because, i dont want frame,caption etc.,
Pls help me
Anu
|
|
|
|
|
OK, you use SetWindowPos in the button handler, but, again: what is the assertion message?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
File:f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\winocc.cpp
Line:318
Im using VS2008.
And im using WPF controls in VC++,so i set CommonLangugeRunTImeSupport(/clr) option.
Anu
|
|
|
|
|
Anu_Bala wrote: File:f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\winocc.cpp
Line:318
Im using VS2008.
Could you please report the content of such line?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
You don't have the MFC source memorized?
[Edit]
Still no joy, I see.
You measure democracy by the freedom it gives its dissidents, not the freedom it gives its assimilated conformists.
modified on Monday, December 21, 2009 11:47 PM
|
|
|
|
|
Tim Craig wrote: You don't have the MFC source memorized?
Er..sorry not.
Anyway I may ask Rajesh: he has a monkey for each and every version of MFC ...
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
CPallini wrote: he has a monkey for each and every version of MFC
Won't Eddington miss them? Is one named Mike B.?
You measure democracy by the freedom it gives its dissidents, not the freedom it gives its assimilated conformists.
|
|
|
|
|
Could you please report the content of such line?
I couldnot understand ur previous reply? what did u mean by content of line?
When i debug ,it comes at Disassemble at
102D5D03 call __crtMessageWindowA (102D49A0h)
Anu
|
|
|
|
|
What is written in the file
File:f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\winocc.cpp at
Line:318 ?
Anu_Bala wrote: Im using VS2008.
I have MFC that comes with Visual Studio 2005 , hence the question.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
BOOL CWnd::SetWindowPos(const CWnd* pWndInsertAfter, int x, int y, int cx,
int cy, UINT nFlags)
{
ASSERT(::IsWindow(m_hWnd) || (m_pCtrlSite != NULL)); // Line318
when i press F11 it goes another CPP and show assert error in this particular line
_CRTIMP int __cdecl _CrtDbgReportT(
int nRptType,
const TCHAR * szFile,
int nLine,
const TCHAR * szModule,
const TCHAR * szFormat,
...
)
{
int retval;
va_list arglist;
va_start(arglist,szFormat);
retval = _CrtDbgReportTV(nRptType, szFile, nLine, szModule, szFormat, arglist); //This line
va_end(arglist);
return retval;
}
Anu
|
|
|
|
|
It looks like you call SetWindowPos before the window is actually created (i.e. m_hWnd is not valid).
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Yes,when i debug.that m_nWnd shows 0x000000{unused=???)
But where can i use that.
Actually i want that fucntionality.i want to change the width of dialog using that button.
Anu
|
|
|
|
|
Could you please post the code of your button handler?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
void CToolBarDlg::OnWindowPosChanging(WINDOWPOS* lpwndpos)
{
CDialog::OnWindowPosChanging(lpwndpos);
SetWindowPos(&CWnd::wndTop,0,80,400,900,SWP_NOSIZE);
}
void CToolBarDlg::Onchangesize() //Button Handler
{
SetWindowPos(NULL,0,80,200,900,SWP_NOSIZE);
}
Anu
|
|
|
|
|
Hi,
I have made a custom dialog have done some custom Drawing on it. it is derived from CDialog. when i change DPI settings on my system dialog size does not change accordingly.. I need it to be changed as i have set my font size according to DPI and font size changes..
plz help
P.S. :- Not even dialog size i have some other custom controls also like button its size also does not change in my application
Thanks
|
|
|
|
|
May be you can handle WM_SETTINGCHANGE or WM_DISPLAYCHANGE message and see if you get the notification when the system settings is changed.
|
|
|
|
|
that message is coming... but do i need to handle this seperately.. i mean shouldnt MFC change window size automatically ???
|
|
|
|
|
_T("No name") wrote: i mean shouldnt MFC change window size automatically ???
Well, if it doesn't (and looks like it doesn't) then you have to do it, I guess it isn't such a daunting task.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
i am not getting any idea how to incorporate DPI in setting my dialog's width.. can u help me out....
|
|
|
|
|
If you wish to update your dialog size then, one simple way may be:
- define a default (pixel) size for a default
DPI setting (for instance 800x600 pixels for 96x96 dpi). - on receiving the 'system dpi changed' notification, change the size according to new dpi settings, for instance,
120x120 dpi would require:
(800*120/96) x (600*120/96) pixels = 1000x750 pixels.
You may obtain system dpi settings with the following code
HDC hdc = GetDC(NULL);
int dpix = GetDeviceCaps(hdc, LOGPIXELSX);
int dpiy = GetDeviceCaps(hdc, LOGPIXELSY);
ReleaseDC(NULL, hdc);
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Hi to all.
I am having a problem in comparing characters in a string. I need to do it character by character only.
Currently I am checking something like
if(*st1 == *st2){.....}
But It results different when the characters are in different case.
So Can anyone please help me in MODIFYING THE SAME STATEMENT FOR CASE INSENSITIVE COMPARISON.
Thanks in advance
-----------------------------
I am a beginner
|
|
|
|
|
if (_tolower(*st1) == _tolower(*st2))
|
|
|
|