|
LPTSTR buffer only allocates a pointer to a string
use a cstring like:
CString buffer;
or an array like:
TCHAR buffer[256];
or use the new / delete stuff like:
LPTSTR buffer = new TCHAR [256];
blah blah blah
delete buffer;
"there is no spoon" biz stuff about me
|
|
|
|
|
int Select = m_list.GetCurSel();
CString fruit;
m_list.GetText( fruit );
if( fruit == "Pears" )
yada yada yada
Larry
Larry J. Siddens
Cornerstone Communications
TAME THE DOCUMENT MONSTER
www.unifier.biz
|
|
|
|
|
Hi, I was wondering if IE or Windows ships with the MFC dlls (the ones that come with VC++ 2002, I don't know the version number). Thanks
Shutter
|
|
|
|
|
I believe Windows XP ships only with msvcrt.dll (for 6.0.)
It would be nice if XP SP2 shipped with them though.
|
|
|
|
|
I have a problem with a property sheet
I am creating property sheet insde a dialog this way:
<br />
BOOL CMyDlg::OnInitDialog() <br />
{<br />
CDialog::OnInitDialog();<br />
<br />
m_propsheet.Create(this, WS_CHILD | WS_VISIBLE, 0);<br />
m_propsheet.ModifyStyleEx (0, WS_EX_CONTROLPARENT);<br />
m_propsheet.ModifyStyle(0, WS_TABSTOP);<br />
<br />
m_propsheet.GetTabControl()->ModifyStyle(TCS_MULTILINE,0);<br />
<br />
CRect rcSheet;<br />
GetDlgItem(IDC_PROPSHEET)->GetWindowRect( &rcSheet );<br />
ScreenToClient( &rcSheet );<br />
m_propsheet.SetWindowPos( NULL, rcSheet.left-7, rcSheet.top-7, 0, 0, <br />
SWP_NOZORDER | SWP_NOSIZE | SWP_NOACTIVATE );<br />
.<br />
.<br />
.<br />
}<br />
In this code I tried to change the style of tab control inside a property sheet,
so it would display one row of tabs. It works, but the size of property sheet retains bigger,
just like with two rows of tabs,
How to fix this ?
|
|
|
|
|
Hello,
i decided to use only the win32 api. no mfc.
i am having a hard time finding material about this topic.
how to do splitters, message handling, owner drawing, multiple childwindows that handle data and so on?
do you know sites, help or ideas? if those are for beginners it would help even more.
(i even failed to change the font in a listbox created as a child window. it looks perfect in a dialog but as child window the font is BIG and all my changes didnt work. too small too big but never the right size...)
can anyone help?
|
|
|
|
|
HeiniBlad wrote:
i even failed to change the font in a listbox created as a child window.
Well, I had a lot of difficulty changing the font in MFC also so it is not limited to just win32 api. Windows is designed to make it difficult to implement a non standard interface.
HeiniBlad wrote:
i decided to use only the win32 api. no mfc.
i am having a hard time finding material about this topic.
Why don't you try one of the other windowing libraries WTL, xwWindows, VCF? I don't see why so many people want to do things the hard way. There is not that much performance benifit using Win32 api over MFC. And for the memory considerations sure MFC is a big library and takes a mb or so to load but it is most likely already loaded with windows. Windows will only load a dll once in memory and share it with multiple programs. So in reality using it creates an application with a smaller foot print...
John
|
|
|
|
|
HeiniBlad wrote:
i decided to use only the win32 api. no mfc.
I'm curious. What was your decision based on?
/ravi
Let's put "civil" back in "civilization"
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Have control over the code?
Rickard Andersson
Here is my card, contact me later!
UIN: 50302279
Sonork: 37318
Interests: C++, ADO, SQL, Winsock, 0s and 1s
|
|
|
|
|
Imho, you'd be much more productive with MFC. You can always make Win32 API calls (and even write inline assembler code) if you need to.
/ravi
Let's put "civil" back in "civilization"
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
I agree. If you know C++ there is really no point to using win32api.
John
|
|
|
|
|
The best source is the source code for MFC itself!
That said, I'm more than baffled by why you would consider this. Your return on investment is going to be dismal since you'll just be reinventing the wheel. Don't forget all the debug time you'll need to do.
And please don't use the excuse that your code will be "more stable." It is by this self-delusion that companies and people waste lots of time and money.
|
|
|
|
|
HeiniBlad wrote:
how to do splitters, message handling, owner drawing, multiple childwindows that handle data and so on?
Check out WTL. WTL and the related ATL classes add just a small amount to your executable's size, so if MFC is too big for you, WTL might be perfect.
--Mike--
Ericahist | Homepage | RightClick-Encrypt | 1ClickPicGrabber
Latest art~!@#2rDFA#@(#*%$Rfa39f3fqwf--=
NO CARRIER
|
|
|
|
|
I'm _very_ new to the concept of having multiple views with a splitter. Anyway, I was reading the article at "http://www.codeproject.com/useritems/splitterwindowtutorial.asp" and have a few questions. Since the author isn't looking at the mini-messageboard, I'll post here.
Anyway, the author showed code like this:
if ( !m_mainSplitter.CreateView( 0, 0, RUNTIME_CLASS(CSplitterWindowTutorialView), CSize(cr.Width()/2, cr.Height()), pContext ) ) <br />
{ <br />
MessageBox( "Error setting up splitter frames!", "Init Error!", MB_OK | MB_ICONERROR );<br />
return FALSE; <br />
}<br />
<br />
if ( !m_mainSplitter.CreateView( 0, 1, RUNTIME_CLASS(CSplitterWindowTutorialView), CSize(cr.Width()/2, cr.Height()), pContext ) ) <br />
{ <br />
MessageBox( "Error setting up splitter frames!", "Init Error!", MB_OK | MB_ICONERROR );<br />
return FALSE; <br />
}<br />
<br />
m_bInitSplitter = TRUE;
And then said to "include your document class in your view class header just before: #endif // _MSC_VER > 1000.".
So, if I wanted to have a CTreeView on the left and a CListView on the right, what would that chunk of code look like? And what would I put in the header? Thanks.
|
|
|
|
|
Modify the first create with the class that is derived from the CTreeView. You can create this class with the wizard (or what ever the same is in .net).
Another idea, create the project and there is a check box for splinter views. This will create a splinter window with the same view type. Just change that and viola' you have it done!
Larry
Larry J. Siddens
Cornerstone Communications
TAME THE DOCUMENT MONSTER
www.unifier.biz
|
|
|
|
|
OK, so I went into ClassWizard and clicked "New -> Class", then named it "CRightView" and said it should be derived from CListView. However, I get all sorts of errors when compiling:
RightView.cpp
error C2504: 'CListView' : base class undefined
error C2440: 'return' : cannot convert from 'class CRightView *' to 'class CObject *'
error C2653: 'CListView' : is not a class or namespace name
error C2065: 'classCListView' : undeclared identifier
error C2653: 'CListView' : is not a class or namespace name
error C2065: 'GetDocument' : undeclared identifier
error C2440: 'initializing' : cannot convert from 'int' to 'class CDocument *'
error C2653: 'CListView' : is not a class or namespace name
error C2653: 'CListView' : is not a class or namespace name I assume I added the class the wrong way . . . what's the right way?
|
|
|
|
|
rjahrman wrote:
error C2440: 'return' : cannot convert from 'class CRightView *' to 'class CObject *'
Did you say it was an MFC object? There are 3 class types.
MFC.
Generic.
Form Class
You created if with the MFC class type, correct? Guessing from the errors (the second) that it isn't what you have done. If you have, then (Did not use MFC class -- the first drop down box) delete the two files out of your project, delete the files off your system (or just rename them) and try again.
The CListView has as its very base the CObject. This is why I'm thinking that you used one of the other types.
Hope this helps
Larry
Larry J. Siddens
Cornerstone Communications
TAME THE DOCUMENT MONSTER
www.unifier.biz
|
|
|
|
|
What property should a dialog box have so i can move it around while the title bar is pressed ?
Thanks
|
|
|
|
|
lol!?
this is a property of a normal dialog!
Don't try it, just do it!
|
|
|
|
|
...but it's not working!
|
|
|
|
|
another interesting thing is that the dialog caption isn't shown!!
|
|
|
|
|
Use the resource editor to show the caption. Make sure title bar is selected in the styles.
John
|
|
|
|
|
r u doing some heavy duty processing in the OnInitDialog() function so the window isnt responding to messages?
"there is no spoon" biz stuff about me
|
|
|
|
|
Actually, I think the dialog is shown after OnInitDialog() completes. But the point is well taken.
/ravi
Let's put "civil" back in "civilization"
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
How would I structure an application that needs two main views with a splitter bar. The left view would be a tree view, right view would be a list view.
I'm having hard time figuring out how many documents I need and how to initialize the whole thing in CApp::InitInstance (i.e. do I use a SingleDocTemplate or a MultiDocTemplate?).
It occurs to me that this is exactly like IE, anyone know of some good sample code out there?
Mike Ellertson
|
|
|
|