|
yes, but it's only defined for char and wchar_t, is it not?
--
Watcha' gonna do, when Hulkamania runs wild on you!?
|
|
|
|
|
|
True - guess who's not done much Unicode programming with STL I have with ATL and COM (BSTR), but not STL...
Stuart Dootson
'Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p'
|
|
|
|
|
I want to read some data to display from files and save some data to files, If having some samples, could you send to me? Thanks.
|
|
|
|
|
Try this:
fstream m_File;
ios::openmode m_Mode;
m_File.open(m_strFileName.c_str(), m_Mode);
while (!m_File.eof())
{
getline(m_File, strLine);
}
m_File.close();
// write to file
m_file << "Some text" << endl;
|
|
|
|
|
Thank you very much for your reply.
I need it and will try it.
Freehawk
|
|
|
|
|
I want to send a broadcast message, and then a lot of windows can receive and re-display datas which is stored in same memory. How to do? Thanks.
|
|
|
|
|
Hi mr hawk,
use this SendMessage(HWND_BROADCAST,yourMsg, yourwParam , yourlParam);
but this message should be a registered window message. coz this message should be unique so that every window can process it.
you can use RegisterWindowMessage API to create your own unique message.
Regards.
Abhishek Srivastava
Software Engg (VC++)
India ,Noida
Mobile no 9891492921
|
|
|
|
|
Thanks for your reply.
It is useful to me and I will try it.
Freehawk.
|
|
|
|
|
Are you using the ATL DBCLI templates?
If so, are you also calling Update() after calling SetData() ?
Steve S
|
|
|
|
|
If it's a wizard-generated one, then the odds are good that you don't need to call SetData(), just change the member data and call Update.
SetData is normally used in situations where you don't have automatic accessor population, if I remember rightly.
Steve S
|
|
|
|
|
I want to subclass some combobox controls on a dialog to handle WM_KEYDOWN msg (to delete contents using DEL key).
1. I`m using CContainedWindow. I use the function:
OnKeyDown(TCHAR nChar, UINT nRepCnt, UINT nFlags) with MSG_WM_KEYDOWN in ALT_MSG_MAP(1).
For one control, it's ok (works fine), but what if I want to subclass more than one and redirect all WM_KEYDOWN msgs to the same function ? How can I tell what control is receiving the message ? The m_hWnd member points to my dialog wnd.
2. I also tried the DDX way, using DDX_CONTROL and defining:
class CCombo: public CWindowImpl<ccombo, ccombobox="">
and defining my controls of this class, but the compiler gives me an error saying that SubclassWindow is not a member of CComboBoxT<class atl::cwindow="">
How can I do it using #1 and what am I doing wrong with #2 ?
Thanks.
|
|
|
|
|
1) See CWindowImpl::GetCurrentMessage() . You'll find the recipient HWND in the MSG-struct, i.e. GetCurrentMessage()->hwnd .
2) That's because CComboBoxT doesn't derive from CWindowImpl which is the template which implements SubclassWindow. CComboBoxT is just a wrapper for an already existing window class, thus it isn't supposed to subclass another class. I never use DDX-stuff, so I wouldn't know how to deal with it. :shrug:
--
Watcha' gonna do, when Hulkamania runs wild on you!?
|
|
|
|
|
Alright, I've managed to get buttons and all that working just fine, but I can't figure out how to get just a bitmap in the toolbar... In the google toolbar, for example, they have that lovely google logo over a button... I'd like that, but without the button. I've even gone so far as to make a button, and make it TB_INDEFINITE (or whatever it is, I'm not looking at my code), but I don't want it greyed out like that. I want it full color, but not clickable at all. I mean, I can have a button, but I don't want it to "click". Any thoughts, anyone?
|
|
|
|
|
I would like to use the substitution capabilities in the ATL server without the output going to the Web. All of the examples that I see have something like: m_HttpResponse << "Hello"; in the handler. I would like to be able to take the output of the handler and use it to build a single string that has all of the sustituitions made. Something like SRF in and HTML out. I have seen CLStencil and that gets me part way but I don't know how to code the handlers so the output is directed to a stream not the WEB.
Thank you.
Kevin Burton
rkevinburton@charter.net
|
|
|
|
|
How can I catch the focus in my ATL control which is put in HTML text in DHTML based IE toolband?
|
|
|
|
|
I'm using an free-threaded in-proc DLL server (written in ATL 7.0) which creates a separate thread for asynchronous I/O. If I terminate the separate thread by an interface command (using a terminate event to signal the thread's WaitForMultipleObjects loop), everything works as expected - the thread terminates, and any subsequent GetExitCodeThread call shows the proper exit code.
However, if I wait for COM to call DllMain with DLL_PROCESS_DETACH and then try to terminate the thread, I find that the tread exits, but a subsequent GetExitCodeThread call will return STILL_ACTIVE, and a WaitForSingleObject(hMyThread, INFINITE) call will hang up forever. It seems as though once the
DLL_PROCESS_DETACH is called, the kernel can no longer see that the thread has exited.
Is this correct behavior? If so, why? I was expecting the kernel could always see the thread's exit.
Thanks for any help,
Richard
|
|
|
|
|
|
Thanks, Tim - that answers it!
- Richard
|
|
|
|
|
Hi!
I have a CFrameWindowImpl-based main frame on Pocket PC 2003 and the newly released WTL. I can not get menu state updating to work using the update ui feature of WTL. I believe the relevant parts of the class definition are these:
class CMainFrame :
public CFrameWindowImpl<CMainFrame>,
public CUpdateUI<CMainFrame>,
public CIdleHandler,
public CMessageFilter
{
public:
DECLARE_FRAME_WND_CLASS(APP_MAINFRAME_CLASS, IDR_MAINFRAME);
BEGIN_UPDATE_UI_MAP(CMainFrame)
UPDATE_ELEMENT(IDM_HIDE_WEEKEND, UPDUI_MENUPOPUP)
END_UPDATE_UI_MAP()
BEGIN_MSG_MAP(CMainFrame)
...
CHAIN_MSG_MAP(CUpdateUI<CMainFrame>)
CHAIN_MSG_MAP(CFrameWindowImpl<CMainFrame>)
END_MSG_MAP()
...
};
In CMainFrame::OnCreate() I then do
...
CMessageLoop* pLoop = _Module.GetMessageLoop();
ASSERT(pLoop);
pLoop->AddMessageFilter(this);
pLoop->AddIdleHandler(this);
UISetCheck(IDM_HIDE_WEEKEND, true, TRUE);
...
which, unfortunately, doesn't check the menu item.
Any ideas what might be goin on here? Did I miss something?
I can see with UIGetState() that UISetCheck() sort of works, since the state includes the checked bits, but the menu item is not updated! No check mark is drawn!
I can set check marks using raw API, but hey, WTL is supposed to do this for me! So, please...
Thanks for _any_ pointers!
/Johann Gerell
--
Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. (Douglas Adams)
|
|
|
|
|
Funny you mention this. I was baffled today when I noticed that I couldn't disable menu entries using CUpdateUI<>
Maybe there's a bug in the new WTL release.
[edit]I'm not using WTL on a Pocket PC[/edit]
--
In the land of the blind, be king![^]
|
|
|
|
|
Seems as a bug in atlframe.h:
The CUpdateUIBase message map entry for WM_INITMENUPOPUP and its message handler are #ifdef -d off for Windows CE. Remove these #ifdef s and menu ui updating works.
Note: AtlIsOldWindows() needs to be modified to take Windows CE version numbering into account, or a debug break will occur there in debug builds after the #ifdef removal.
--
Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. (Douglas Adams)
|
|
|
|
|
|
|
You should use basic_string::replace(). MSDN has a sample on how to use it.
|
|
|
|