|
I'm using VC.Net with ATL/WTL... But I don't think the problem is in the ATL/WTL! I'm using WinXP sp1 in Italiano (my native language). Here in Italy we use the "," (comma) as decimal point (so we write 1.000,95 instead of 1,000.95).
I've added a decimal tab stop to my RichEdit and it's working well... for an american! (it uses the . instead of the , as decimal separator)... My Windows is currectly setted (other program write 1.000,95 correctly!). How can I make the Richedit work differently?
Thanks
Max
|
|
|
|
|
Hi
I have CPropertySheet (it contains few pages, nothing unusual) modal dialog. After I add my pages I call DoModal. My CPropertySheet can also display another instance of itself. The problem is that newly created dialog is positioned exactly in the same position as the calling dialog, so one can miss that a new dialog has been created. My question is: how can I position newly created dialog so it won't cover the old one? Thanks in advance for any hints.
Mariusz Popiolek
|
|
|
|
|
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
|
|
|
|