|
Firstly make a new static dialog element as "area descriptor".
Then get the position of the new element as a CRect, translate it to client and move the property page to the new position.
Sample code:
CRect rcDlgs;
GetDlgItem(IDC_AREA_PAGES)->GetWindowRect(rcDlgs);
ScreenToClient(rcDlgs);
m_propertyWindow.MoveWindow(rcDlgs);
-Dominik
|
|
|
|
|
I found easier solution (at first I was hoping that there is some trivial solution, for example setting some dialog style,but I think there is not).
In OnInitDialog:
RECT rect;
this->GetWindowRect(&rect);
rect.left += 20;
rect.right += 20;
rect.top += 20;
rect.bottom += 20;
this->MoveWindow(&rect);
It cause that newly opened dialogs are cascading (that is exactly what I wanted to do).
Anyway, thanks Dominik.
I tested it on CDialog but I think that it should work with CPropertySheet
Mariusz Popiolek
|
|
|
|
|
Hi.
I'll trying to open simple file dialog from view of my single document application. MSDN->Help...
////////////////////// begin ///////////////////////////////////////
// szFilters is a text string that includes two file name filters:
// "*.my" for "MyType Files" and "*.*' for "All Files."
char szFilters[]=
"MyType Files (*.my)|*.my|All Files (*.*)|*.*||";
// Create an Open dialog; the default file name extension is ".my".
CFileDialog *fileDlg =new CFileDialog(TRUE, "my", "*.my",
OFN_EXPLORER | OFN_HIDEREADONLY, szFilters, this);
// Display the file dialog. When user clicks OK, fileDlg.DoModal()
// returns IDOK.
if( fileDlg->DoModal ()==IDOK )
{
CString pathName = fileDlg->GetPathName();
// Implement opening and reading file in here. ...
//Change the window's title to the opened file's title.
CString fileName = fileDlg->GetFileTitle ();
}
delete fileDlg;
/////////////////////////////// end ////////////////////////////////
fileDlg->DoModal() return IDCANCEL and dialog window is not showed...
I try to create dialog based application, insert this block of code and get my dialog... Where is mistake????
This bug is ONLY on windows NT4 server... XP works fine.
Used Visual Studio .NET (VC7++)
Thanks for help and sorry for bad english.
|
|
|
|
|
I'm sorry I can't help you. But I have one question: Why do you create the file dialog on the heap? It's enough to create the variable on the stack since the dialog is modal anyway
modified 12-Sep-18 21:01pm.
|
|
|
|
|
I agree with you... I've just tested.
In original MSDN article dialog created normaly, as variable.
I will correct my post...
|
|
|
|
|
try changing this :
CFileDialog *fileDlg = new CFileDialog(TRUE, "my", "*.my",
OFN_EXPLORER | OFN_HIDEREADONLY,
szFilters, <code>this</code>);
to either
NULL
or
AfxGetMainWnd()
- Nitron
"Those that say a task is impossible shouldn't interrupt the ones who are doing it." - Chinese Proverb
|
|
|
|
|
Thanks for your reply...
"NULL", "AfxGetMainWnd()","this" perfectly work, but under win2k and XP.
NT4 don't want to show dialog. DoModal() returns IDCANCEL after call.
|
|
|
|
|
Andrew Medvedev wrote:
NT4 don't want to show dialog.
Hmm... I just noticed u said you are using VS7. I wonder if it's a .net thing. Try re-posting in the .net forum and see if anyone there has experienced this. Good luck.
- Nitron
"Those that say a task is impossible shouldn't interrupt the ones who are doing it." - Chinese Proverb
|
|
|
|
|
Hy everyone!
does anybody can give me some help?
I want that an window of my application flicker in taskbar (if minimized)... does have any message that I can send to it?
thanks!
ps.: sorry my english
-=Ricky=-
|
|
|
|
|
Take a look at the FlashWindow and FlashWindowEx functions on MSDN.
Richard
|
|
|
|
|
That's it!
Thanks Richard!
-=Ricky=-
|
|
|
|
|
I've a CLIstCtrl with the Owner data style.
It works great, but when I try to use SetColumnWidth(LVSCW_AUTOSIZE), it resizes the columns in a wrong way, because it considers only visible elements.
So I decided to detemine the max length; I tryed using either CDC::GetOutputTextExtent than CListCtrl::GetStringWidth, but both ignore the space between the column border and the text, and I can't figure howto determine the size of that... I tryed using GetSystemMetrics with SM_CXFIXEDFRAME and SM_CXEDGE, but they seem to be wrong.
Any ideat?
thanks
|
|
|
|
|
To determine the width/height of the scrollbars, use SM_CXVSCROLL/SM_CYVSCROLL as parameters.
|
|
|
|
|
Thanks, but it's not what I nedd...
The control (in report mode) has many column; any column has:
border (if it is visible or not depend on styles selected)
space
text
space
border.
I need to find the size of that spaces...
|
|
|
|
|
You could give the column header a fixed size and use LVSCW_AUTOSIZE_USEHEADER instead of LVSCW_AUTOSIZE. Anyway, you can get the longest string in the column, so just set the column width to this string width + a few pixels ? Or didn't I get the thing ?
~RaGE();
|
|
|
|
|
Using LVSCW_AUTOSIZE_USEHEADER has the same problem than using LVSCW_AUTOSIZE: if a non-visible string is longer than the header it isn't considered.
Yes, what i'm doing il looking for the longest text extent (not the longest string, "w" is larger than "ll") and adding some pixel. But I would like to know how much should be "some pixel"... I think it depends on system font & some other param..
|
|
|
|
|
I am trying to pull the current session variables out in an ATL project, called from the asp. The code looks like this:
CContext cxt;
if ( FAILED( cxt.Init( CContext::get_All ) ) )
{
return E_FAIL;
}
cxt.Response()->Write(_variant_t("This is a test of the veracity of my system <br/>"));
IVariantDictionary* pVD;
cxt.Session()->get_Contents(&pVD);
if (pVD)
{
int nCount = 0;
pVD->get_Count(&nCount);
for (int i = 0; i < nCount; ++i)
{
_variant_t vItem;
_variant_t vIndex(i);
_variant_t vKey;
pVD->get_Key(vIndex, &vKey);
pVD->get_Item(vKey, &vItem);
cxt.Response()->Write(vKey);
cxt.Response()->Write(_variant_t(" = "));
cxt.Response()->Write(vItem);
cxt.Response()->Write(_variant_t("<br/>"));
}
}
IRequestDictionary * pDic;
_variant_t v;
cxt.Session()->get_Value( L"Juju", &v);
cxt.Response()->Write(v);
cxt.Request()->get_ServerVariables(&pDic);
if (pDic)
{
int nCount = 0;
pDic->get_Count(&nCount);
for (int i = 0; i < nCount; ++i)
{
_variant_t vItem;
_variant_t vIndex("Juju");
_variant_t vKey;
pDic->get_Key(vIndex, &vKey);
pDic->get_Item(vIndex, &vItem);
cxt.Response()->Write(vKey);
cxt.Response()->Write(_variant_t(" = "));
cxt.Response()->Write(vItem);
cxt.Response()->Write(_variant_t("<br/>"));
}
}
and while it can pull out a session ID if I ask it to, and the response stuff works fine, I simply cannot get my hands on the variables I have shoved into the session. Does anyone have any ideas ?
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
C# will attract all comers, where VB is for IT Journalists and managers - Michael P Butler 05-12-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
So which lines are not working as you'd expect? Are you getting the value for "Juju" back in this line: cxt.Session()->get_Value( L"Juju", &v); ?
I don't think you're gonna get Juju's value out of the bottom for loop. There you're looping through the SERVER variables -- the ones from the HTTP header, which look like this: AUTH_TYPE, CONTENT_LENGTH, REMOTE_ADDR, SERVER_PORT.
Also, I'd recommend creating variables like request and response at the top of the code. Something like this:
IRequest request = cxt.Request();<br />
IResponse response = cxt.Response();
Then you can just do response.Write(...) , which seems more efficient and easier to read.
Regards,
Alvaro
Well done is better than well said. -- Benjamin Franklin
(I actually prefer medium-well.)
|
|
|
|
|
Alvaro Mendez wrote:
So which lines are not working as you'd expect?
The first collection is empty, that's the one I expect to contain the session variables.
Alvaro Mendez wrote:
Are you getting the value for "Juju" back in this line: cxt.Session()->get_Value( L"Juju", &v);?
No, I am getting VT_EMPTY back. My test string is rendered in my page, but I cannot get ahold of the session variable, which I create in the asp like this
Session("Juju") = "The Dog Faced Boy"
Alvaro Mendez wrote:
I don't think you're gonna get Juju's value out of the bottom for loop
I didn't expect to - I want the session ID as well. The one that is called ASPSESSIONID with garbage after it. Instead I am getting a load of = signs, there are a lot of values there, but I cannot figure how to pull them out. I put 'Juju' in there as an act of desperation, but I was populating that variant with the index of my for loop and expected to be able to iterate through the keys that way, it does not work.
Thanks for helping me with this.
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
C# will attract all comers, where VB is for IT Journalists and managers - Michael P Butler 05-12-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
I have a couple of different COM interfaces, including IRequestDictionary, the problem with all is the same. They have a get__NewEnum method which supposedly gives me a 'for each' type iteration over the container, but which I cannot get to work and the MSDN docs are woeful. Does anyone have any suggestions ?
Christian
No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002
C# will attract all comers, where VB is for IT Journalists and managers - Michael P Butler 05-12-2002
Again, you can screw up a C/C++ program just as easily as a VB program. OK, maybe not as easily, but it's certainly doable. - Jamie Nordmeyer - 15-Nov-2002
|
|
|
|
|
|
Hi
Please go through this situation
My ManagerApplication will be embedded into HubApplication and one of the Submenu from my Main menu and a Toolbar will also be embedded.If the user selects Tools->LargeIcons from the Main menu of the HubApplication my Toolbar(which is embedded into) is not getting changed to LargeIcons.For this will MFC take care or we should implement?if so can anybody help me with code??thanks in advance
ThomasKennedy
ThomasKennedy
|
|
|
|
|
Hi
Please go through this situation
My ManagerApplication will be embedded into HubApplication and one of the Submenu from my Main menu and a Toolbar will also be embedded.If the user selects Tools->LargeIcons from the Main menu of the HubApplication my Toolbar(which is embedded into) is not getting changed to LargeIcons.For this will MFC take care or we should implement?if so can anybody help me with code??thanks in advance
ThomasKennedy
ThomasKennedy
|
|
|
|
|
ThomasBoseKenn wrote:
.For this will MFC take care
Nope, the MFC framework is not responsible for that. You may search in the article part of this site, you may probably find some articles to help you using large buttons on toolbars.
Another way could be to use external components/extensions which would manage this (and much more) for you. A good example of these is the library BCG[^]
I hurt so bad inside
I wish you could see the world through my eyes
It stays the same
I just wanna laugh again
|
|
|
|
|
Is this code ok?
I read a BSTR with a COM-Function, convert the string to uppercase and check if it is a defined string.
USES_CONVERSION;
CComBSTR bstrTag;
VERIFY(pElement->get_tagName(&bstrTag) == S_OK);
if (_tcscmp(_tcsupr(OLE2CT(bstrTag)), _T("WALLPOINT")) != 0)
{
....
}
Daniel
---------------------------
Never change a running system!
|
|
|
|