|
You need to do the SetWindowText() in the OnInitDialog() handler in the about class. The way you are doing it, the dialog has already been displayed and dismissed...
BOOL CAboutDlg::OnInitDialog()
{
CDialog::OnInitDialog();
SetWindowText("test!!!!!!");
return TRUE;
}
|
|
|
|
|
I know what you mean but it does not do what i would like because i have 2 windows: one with buttons and another with the title that change depending on the button the mouse is over...
so i cannot put it in OnInit because i would have to init the dialog each time i do a mouseover...
|
|
|
|
|
I am not understand what you want to do...
|
|
|
|
|
Its very simple:
i have two windows (dialog):
one with 3 buttons, for example: "apple", "banana" and "grapes"...
when i click on the "banana" button, the titlebar of the OTHER window changes for "banana"...understand?
|
|
|
|
|
Then you need to make the dialogs modeless. Then you could do what you wanted to do in the first place.
|
|
|
|
|
ok... how do i do that?
|
|
|
|
|
If you still want your dialogs to be modal (ie all input is directed to the About Box), you can add a member variable (and accessors if you want to be purist about it) in the AboutBox class, set that from your other dialog, THEN call DoModal():
class CMyAboutDlg
{
public:
SetTitle(LPCTSTR apszTitle)
{
m_cstrTitle = apszTitle;
}
protected:
CString m_cstrTitle;
}
Then, in your CMyAboutDlg::OnInitDialog:
SetWindowText(m_cstrTitle);
So, when you call your dialog:
CMyAboutDlg vdlgAbout;
if (type == 1)
vdlgAbout.SetTitle("apple");
else if (type == 2)
vdlgAbout.SetTitle("banana");
else
vdlgAbout.SetTitle("grapes");
vdlgAbout.DoModal();
Hope this helps.
------------------------
Derek Waters
derek@lj-oz.com
|
|
|
|
|
Your Question is Very Clever....
You need to find the handle of the other Dialog and change the text of that Dialog using SetWindowText whit that Handle
Cheers!!!
Carlos Antollini.
|
|
|
|
|
I need some help and where better to go than to the the discussion boards! I need to create a very sime version of FrontPage or something similar. I need create some sort of editor that will allow me to place text with attributes (only bold and underlined right now) and images (bitmaps that I have defined). I would think I need a rich text edit control. True? If so, what are some good ones. I would be willing to buy a 3rd party if I don't have to give my first born for the control. If this is not they way to go or someone else has a better idea, please let me know. After the user enters the information, I will take that and write out my own version of HTML. I want to use VC++.
TIA!!!
Ralph Krausse
www.consiliumsoft.com
Home of FastRun, the only application launcher that integrates itself into the taskbar!
|
|
|
|
|
Hi All.
I'm an italian programmer, so excuse me if I can't speak correctly the english language.
My problem is following : For an application I'm developing with MSVC++ 5.0 and Borland C++ Builder (for the interface), I need to remove the Start Bar (who's that having the 'Start' Button) substituting it with another implemented by me.
How Can I do with?
Thanx All...
Alex
|
|
|
|
|
What do you mean by removing it? Disabling it? Hiding it? You are going to replace the start button with your own?
|
|
|
|
|
Well... I'm developing an app. in which an user couldn't (shouldn't...) run any program disk-resident. So I've solved this sayin' "I modify the register to remove the icons on the desktop... Now I must only find a method to remove the Start Bar also"...
So, Anyway I do that, is OK )
Thanx
Alex
|
|
|
|
|
Using Spy++ you can identify the window name and class, so you can use FindWindow() to get a HWND and hide that window. But replacing it, is another thing.
The "Start Bar" should be an AppBar (see "Application Desktop Toolbars" on MSDN), handled by the Shell with special functions and messages.
Hope this helps,
Paolo
------
"airplane is cool, but space shuttle is even better" (J. Kaczorowski)
|
|
|
|
|
Hi Paolo!
(Are you italian as me?)
Thanx for your help! May you post me here the MSDN address on which they talk about App desktop toolbars? I can't find it...
Alex
|
|
|
|
|
You want to replace windows explorer with your own shell? Easy.
On Win9x look in win.ini for
shell=explorer.exe
On WinNT look in
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
there is a value called shell
Just replace these with the filename of your replacement shell
|
|
|
|
|
Hi,
I want to send the keyboard message of ALT+CTRL+DEL to the system and Lock the computer programatically. I have tried the functions SendInput() and keybd_event() functions but they fail to send to this combination of key strokes while they send all other combinations of Keys inputs.
Could anybody suggest me a way out?
Thanks
Vijay
Vijay S
|
|
|
|
|
Use
BOOL LockWorkStation(VOID);
Windows NT: Requires version 5.0 or later.
Zolee
|
|
|
|
|
Thanks Zoltan for your reply .
But I am having a peculiar problem . I am not able to use the Function LockWorkStation(). I have included the file Windows.h and I am working on Windows 2000 Advanced Server. Still my code is not able to compile saying that the function is an undeclared identifier. In fact I am successfully able to use other similar functions like ExitWindows() etc. I even opened the Winuser.h (which is included in Windows.h and the function definition is there. I even tried it on other computers but the same result.??
And believe me I am not making a spelling mistake.
If only you could make something out of it.
Vijay S
|
|
|
|
|
You have to define _WIN32_WINNT = 0x0500 in the project settings.
Go to project setting and this to the preprocessor definitions:
_WIN32_WINNT=0x500
This will mean your code is for Win2000/XP
Zolee
|
|
|
|
|
Thanks ,
I got the answer . I had to define _WIN32_WINNT as 0x0500 in order to use this function as it is defined in this section of Winuser.h
Thanks
Vijay S
|
|
|
|
|
I need a sample code, showing how to create CFormView- form from
dialog.
Thanks in advance.
|
|
|
|
|
if you have the dialog template, its really simple - mfc class wizard does it for you - create a class derived from CFormView, and give the base constructor the id of your dialog - Easy
If you are trying to create from an already visible window in another app or something, yyou will have to make a dummy form view from a dummy dialog template. Then u will probably have to set the dialog area to match using the CScrollView::SetScrollSizes(MM_TEXT, SrcDlgSize);. Then enumerate all the child windows of the src window and duplicate them in the form view. THis isn't very elegant, but its the best I can think of
I hope thats helpful
Joel
|
|
|
|
|
Thank you for a help.
But can you give me a sample code just for creating window.
'Cos now there's problem: when I create child window,
it doesn't have title, system menu, close button, although
template does.
Thanks in advance
|
|
|
|
|
i am using the function WSAAsyncSelect() to make a socket send a windows message to the message queu of my program when data is ready to be received, like this:
WSAAsyncSelect(sd, hwnd, WM_SOCKET, FD_READ);
it sends the WM_SOCKET message and all works well ... but
i also want a message to be sent when the connection is closed, thus the message WM_LOST. but when i just add:
WSAAsyncSelect(sd, hwnd, WM_LOST, FD_CLOSE);
the function seems to overide the previous and it doesn't respond to received data anymore. how do i make it respond to both with a different message, or is it possible to say something like:
WSAAsyncSelect(sd, hwnd, WM_SOCKET, FD_READ | FD_CLOSE);
and see the difference in the message handler...?
Thanks
Kuniva
|
|
|
|
|
Yes, the WSAAyncSelect maintains a single state for a socket, each call overrides the previous and the flags are indeed a bit map you can or. Always call your recv until you get a WOULDBLOCK error, then wait for the message.
|
|
|
|