|
when we use mouse to select some text on windows?
for example, we select some text in notepad application
i want to get the current selected text,
I does not want to simulate ctrl+c hotkey to copy data to clipboard(read data from clipboard),
i think this is very foolish,
I want to known whether some COM interface for us to use??? thanks again..
|
|
|
|
|
Not sure. But see if GetWindowText() is going to be of any use.
Nobody can give you wiser advice than yourself. - Cicero
|
|
|
|
|
|
MAINFRM
<br />
<br />
#include "stdafx.h"<br />
#include "Scribble.h"<br />
<br />
#include "MainFrm.h"<br />
<br />
#ifdef _DEBUG<br />
#define new DEBUG_NEW<br />
#undef THIS_FILE<br />
static char THIS_FILE[] = __FILE__;<br />
#endif<br />
<br />
<br />
IMPLEMENT_DYNAMIC(CMainFrame, CMDIFrameWnd)<br />
<br />
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)<br />
ON_WM_CREATE()<br />
END_MESSAGE_MAP()<br />
<br />
static UINT indicators[] =<br />
{<br />
ID_SEPARATOR,
ID_INDICATOR_CAPS,<br />
ID_INDICATOR_NUM,<br />
ID_INDICATOR_SCRL,<br />
};<br />
<br />
<br />
CMainFrame::CMainFrame()<br />
{<br />
<br />
}<br />
<br />
CMainFrame::~CMainFrame()<br />
{<br />
}<br />
<br />
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)<br />
{<br />
if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)<br />
return -1;<br />
<br />
if (!m_wndToolBar.Create(this) ||<br />
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))<br />
{<br />
TRACE0("Failed to create toolbar\n");<br />
return -1;
}<br />
<br />
if (!m_wndStatusBar.Create(this) ||<br />
!m_wndStatusBar.SetIndicators(indicators,<br />
sizeof(indicators)/sizeof(UINT)))<br />
{<br />
TRACE0("Failed to create status bar\n");<br />
return -1;
}<br />
<br />
m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |<br />
CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);<br />
<br />
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);<br />
EnableDocking(CBRS_ALIGN_ANY);<br />
DockControlBar(&m_wndToolBar);<br />
<br />
<br />
return 0;<br />
}<br />
<br />
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)<br />
{<br />
<br />
return CMDIFrameWnd::PreCreateWindow(cs);<br />
}<br />
<br />
<br />
#ifdef _DEBUG<br />
void CMainFrame::AssertValid() const<br />
{<br />
CMDIFrameWnd::AssertValid();<br />
}<br />
<br />
void CMainFrame::Dump(CDumpContext& dc) const<br />
{<br />
CMDIFrameWnd::Dump(dc);<br />
}<br />
<br />
#endif //_DEBUG<br />
<br />
<br />
<br />
class CMainFrame : public CMDIFrameWnd<br />
{<br />
DECLARE_DYNAMIC(CMainFrame)<br />
public:<br />
CMainFrame();<br />
<br />
public:<br />
<br />
public:<br />
<br />
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);<br />
<br />
public:<br />
virtual ~CMainFrame();<br />
#ifdef _DEBUG<br />
virtual void AssertValid() const;<br />
virtual void Dump(CDumpContext& dc) const;<br />
#endif<br />
<br />
protected:
CStatusBar m_wndStatusBar;<br />
CToolBar m_wndToolBar;<br />
<br />
protected:<br />
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);<br />
DECLARE_MESSAGE_MAP()<br />
};<br />
<br />
The only programmers that are better than C programmers are those who code in 1's and 0's.....
Programm3r
|
|
|
|
|
Hi!!
I am using slider control in my application.
I set JPG image as background for my dialog using CXImage.
How Can I set transparent to slider control background.
Can anyone please give me the solution for this...
Thanks&Regards,
klvin
|
|
|
|
|
Can you try this ?
HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (CTLCOLOR_SCROLLBAR == nCtlColor)
{
pDC->SetBkMode(TRANSPARENT);
}
return hbr;
}
|
|
|
|
|
Hi !!
Thanks for the reply.
I tried with OnCtlColor(...)
But,It is not working.
klvin.
|
|
|
|
|
Why the constructor, destructor and copy constructor in c++ are not able to inherit by the derived class. And what else cannot be inherited from the derived class
|
|
|
|
|
Seems you are new to OOPs... stydy something(books, web page...) to know basic of OOP.
Do your Duty and Don't expect the Result
|
|
|
|
|
it;s no necessary...
|
|
|
|
|
Hi all.
I am using a Microsoft web browser to show the preview of web pages available in my application. This web browser is a part of a Modal Dialog box. I am loading those html pages from the specific location.
As this web browser control is a part of dialog box I can't make its size too big to show complete web page. As a result when I load the html page in it, the scroll bars appears for browser control.
What I want is to resize my html pages according to the size of the browser control so that user will not be required to scroll to have a complete view of the web page.
So how can I resize the html pages before loading them in the browser control?
OR
Is there any other way to do this?
Thanks
Rakesh Thakur
|
|
|
|
|
Rakesh_Thakur wrote: I am loading those html pages from the specific location
Since you are loading a page, i think its not possible to avoid the scroll bars. Other wise you modal dialog has to be resized.
(OR)
If you have the web page details as image file, you can resize the image.
Do your Duty and Don't expect the Result
|
|
|
|
|
Hi.
Can anyone give me a simple example of how to create an iterator for one of your own classes?
I have a binary Search Tree ADT (BST.cpp) that can insert, delete and traverse the binary search tree in sorted order.
The inorder traversal should use the operators from the STL bidirectional iterator.
My BST should provide appropriate, efficient iterators that can be given to any of the STL generic algorithms. My BST should look and feel like an object not just a wrapper around existing C code.
Any hints or small examples that can help me out, will be greatly appreciated.
Thanks.
|
|
|
|
|
|
Hello,
Edit is derived from class CEdit
int i=0;
vector<Edit*>R;
Edit *p;
p = R[i];
p->SetFocus();
I want to move from one edit box to another which I am able to do.I go from one edit box to another by i++ or i-- depending on the key pressed.and calling the function
R[i]->SetFocus();
But when I click the mouse I am not able to move the focus to the clicked edit box.How should I do it?
In what way should I define a pointer so that I acheive the move ?
Prithaa
|
|
|
|
|
prithaa wrote: when I click the mouse I am not able to move the focus to the clicked edit box.How should I do it?
the edit box will get its focus automatically.. there is nothing special to set its focus while clicking on it...
Do your Duty and Don't expect the Result
|
|
|
|
|
can't you use the tab key to navigate through the controls ?
|
|
|
|
|
Are the edit controls on a dialog? If so, you should use something like this to properly
move focus to the control:
int i=0;
vector<edit*>R;
Edit *p;
p = R[i];
GotoDlgCtrl(p);
prithaa wrote: But when I click the mouse I am not able to move the focus to the clicked edit box.How should I do it?
You shouldn't have to do this yourself. When you click in the edit box do you get the caret?
If so, then it has the focus. If you are trying to set the focus yourself on a mouse click
then you may be preventing it from getting focus.
Mark
|
|
|
|
|
I have a class that I wrote I C# and I want to use it in a VC++ project without turning the C# class into a COM object. These are the steps that I've been given by a colleague:
I don't have code sample but I have steps how to do it. But my problem is how do I do step 9? Does anyone have a code sample of how to access the C# methods in VC++ through a type library??
Much appreciated!
L
1. Create a C# class
2. Generate a key for it - sn -k keyfile.snk
3. Put an assembly directive at top of file
[(Assembly: AssemblyKeyFile("keyfile.snk")]
4. Compile
5. regasm file.dll /tlb to generate the COM Type Library
6. gacutil -i file.dll to place file in GAC
7. Copy the generated typelibraries into the directory of your ATL/C++ project
8. #import file.tlb no_namespaces named_guids (look up the reff for exact syntax)
9. Compile ATL/C++ code and you will have access to the interfaces through the types in the imported tlb
|
|
|
|
|
Step 9 is just accessing the C# calls as if they were any COM object. They have nothing to do with C#.
So long as your project depends on the .NET framework, turning on C++/CLI or Managed C++ seems a more sensible and easier option to me.
Christian Graus - C++ MVP
|
|
|
|
|
Actually I'm going to have to use this C++ dll as a 'bridge'. I'm going to have to use it to implement an abstract interface defined outside managed code, and make calls to the managed C# dll to call certain methods to help the 'bridge' implement the interface.
What is the actual syntax of it? I'm having some trouble finding examples.
Sorry if any of these questions are ignorant, I'm a newbie to C++/COM programming.
If I were to access the C# methods as any COM object would I need to use cocreateinstance?
|
|
|
|
|
malayalite wrote: If I were to access the C# methods as any COM object would I need to use cocreateinstance?
No, having called #import, you shoud have smart pointers at your disposal. Change the #import statement to specify a namespace (get rid of the no_namespaces and find the syntax to specify one ), then intellisense will show you the rest. From memory, if you have a class called MyClass, you end up with MyClassPtr. But, that's very rusty memory, indeed.
Christian Graus - C++ MVP
|
|
|
|
|
Ok cool that seems to have done the trick.
Thanks! I really appreciate it.
|
|
|
|
|
about VC+MySQL problem
i install mysql odbc V5.0 driver
i need to ADO Connect MYSQL DB;
code:
_ConnectionPtr m_CMConnect;
::CoInitialize(NULL);
m_CMConnect.CreateInstance(__uuidof(Connection));
m_CMConnect->Open("Provider=MySQL;server=localhost;DataBase=test;port=3306;uid=root;pwd=","","",-1);
but Program run error.....
how to Ado Connect MYSQL DB;
thank
Blog:
http://360.yahoo.com/rxgmoral
|
|
|
|
|
rxgmoral wrote: ::CoInitialize(NULL);
Shouldn't this go first ? What's the error ?
Christian Graus - C++ MVP
|
|
|
|