|
Hi All,
I've got a CFormView derived view that I need to be able to add some fancy edit controls to at run time. Based on some input from the user, I will have what's essentially a set of edit controls inside a group frame, with anywhere from say 1 to n edit controls, but I won't know how many until runtime.
So, I was guessing this might involve calling CreateWindow directly, but not too sure. The edit controls are actually edit derived ActiveX controls, that do some additional stuff on top of the basic edit control stuff. I remember seeing some sample somewhere for something like this, and it seems like you called CreateWindow and pass in the progid of the control somewhere, but I can't remember the details.
Anyone done something similar?
Thanks,
Aaron
|
|
|
|
|
Typically, you'll have an array of pointers to CYourEdit s. After constructing this array with something like:
m_array=new CYourEdit*[m_nControls];
for(size_t n=0;n<m_nControls;++n)m_array[n]=new CYourEdit(); you'll have to create each of the controls. The actual creation method depends on the type of the controls, but chances are you have to pass the parent window, the rectangle the control is enclosed in and a control identifier (use 0xFFFF .)
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
How do copy a CString to a BSTR and vice versa?
|
|
|
|
|
comutils.h ( from memory ) is an include that defines _bstr_t, which internally converts between the two formats. It has a copy() method to return a new BSTR, the one it wraps is deleted in the destructor.
CString s = "22tgsdfdsa5rwer";
BSTR b = _bstr_t(s.GetBuffer()).copy();
CString a = _bstr_t(b);
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
And you don't spend much time with the opposite sex working day and night, unless the pizza delivery person happens to be young, cute, single and female. I can assure you, I've consumed more than a programmer's allotment of pizza, and these conditions have never aligned. - Christopher Duncan - 18/04/2002
|
|
|
|
|
CString str = "Test";
BSTR bstr = str.AllocSystString();
CString str1(bstr);
|
|
|
|
|
I would like to have my program look into a directory and return back all the filenames within it. Does anyone know what the class and function call does this?
Thanks!
|
|
|
|
|
FindNextFile API function or CFindFile MFC class.
Like it or not, I'm right.
|
|
|
|
|
Ah, so trivial. I can't believe I missed it Thanks!!
|
|
|
|
|
When I try to envoke the class wizzard I get the following error:
Parsing error: Identifier Expected.
Input line: ";"
Ok
Anybody know how to resolve this problem? Any help would be sincerely appriciated as I'm dead in the water.
Thanks!
|
|
|
|
|
How does the .clw file look like. You can edit it and restore it.Otherwise delete the .clw file and press Ctrl+W in the resource editor screen. This would restore the clw file
|
|
|
|
|
that fixed it.
Thanks!!!!!!!!
|
|
|
|
|
Is your program in a compilable state now? Are there compilor errors?
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
First off, I am using VS.NET. I have a dialog application which will compile fine in debug mode, however it does not compile in release mode. When I compile it in release mode I get the following error:
D:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include\afxwin2.inl(1034): error C2039: 'Enable3dControls' : is not a member of 'CWinApp'
I know that in VS7 the Enable3dControls function has been deprecated and doesn't need to be called.. and it isn't anywhere in my dialog application either. For some reason it's not passing the assert on line 1034.
Has anybody seen this before? Any ideas on what I need to include, define, etc. to make it go away?
Thanks in advance,
Travis D. Mathison --- Travis D. Mathison --- --- After three two days without programming, life becomes meaningless ...
|
|
|
|
|
What is the problem with removing the line altogether
|
|
|
|
|
In my CString variable, a "&" character can be in it. When it is displayed in a messagebox or in a dialog in converts the "&" to underline the next character. Is there a way to turn this feature off so it displays the "&" as an "&"???
-Raffi
|
|
|
|
|
Select the "No prefix" style of the offending control static text control. This will cause ampersands to be displayed normally, instead of underscoring the following character.
/ravi
"There is always one more bug..."
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
thx alot
-Raffi
|
|
|
|
|
I want to display a dialog as a modeless one. And my code is:
CMyDialog *pDlg;
pDlg = new CMyDialog();
if ( pDlg != NULL )
if ( pDlg->Create(IDD_DLG_MY, this) )
pDlg->ShowWindow(SW_SHOW);
but where should I delete the pDlg? If I don't delete it, it causes memory leak.
Thank you very much!
|
|
|
|
|
make pDlg a member variable of the class that creates it. then delete pDlg in the destructor for the owning class.
-c
ABSURDITY:
A statement or belief manifestly inconsistent with one's own opinion.
|
|
|
|
|
After you have destroyed the window. Or not using it anymore i would think...
|
|
|
|
|
Modeless dialogs are usually deleted in the OnNcDestroy routine. Just add that message handler and do a "delete this".
Tim Smith
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
|
|
|
|
|
Hi Tim, I add the following code to myView:
in myView.h:
afx_msg void OnNcDestroy();
in myView.cpp:
ON_COMMAND(WM_NCDESTROY, OnNcDestroy)
void CMyView::OnNcDestroy()
{
delete this;
CScrollView::OnNcDestroy();
}
But it is not called. And the memory leak is till there. How should I did it?
|
|
|
|
|
You should add this code to your DIALOG. delete this.....
Christian
The tragedy of cyberspace - that so much can travel so far, and yet mean so little.
And you don't spend much time with the opposite sex working day and night, unless the pizza delivery person happens to be young, cute, single and female. I can assure you, I've consumed more than a programmer's allotment of pizza, and these conditions have never aligned. - Christopher Duncan - 18/04/2002
|
|
|
|
|
Got it. Get it working now. No memory leaking, no warning. Thank all of you a lot!
|
|
|
|
|
Do you need to use a pointer?
CMyDialog Dlg;
if (Dlg.Create(IDD_DLG_MY, this))
Dlg.ShowWindow(SW_SHOW);
Like it or not, I'm right.
|
|
|
|