|
I need a class that creates the controller I need dynamically. When this class is created it loads up some data from a file and depending on what it says in that file the controller should be a CListCtrl or a CEdit.
So I thought I create a dummy controller inherited directly from CWnd let my dialog creates it and then this controller will load the data in the file and then creates the CListCtrl or CEdit and subclass it to my own controller.
It should work, but I don't get it to. I think I might have misunderstood some things with subclassing.
In OnInitDialog I have
// Created Dynamically for now
m_DummyController.create( this , CRect( x , y, w , h ) , 1 );
And then DummyController is doing its stuff (checking what kind of controller it wants to transform into)
CMyDummyCtrl::BeAEditCtrl()
{
CEdit pEdit = new CEdit;
if( pEdit->create( WS_CHILD | WS_BORDER | WS_VISIBLE , CRect( x , y, w , h ) , GetParent() , 0 ) )
{
pEdit->SubclassWindow( this->GetSafeHwnd() );
}
} This doesn't work at all. I tried different versions of it so I’m properly going at this problem the wrong way. So any help with be good.
/Mathias
|
|
|
|
|
Your problem is about "scope", you've declared a CEdit variable (pEdit) inside a function, and that variable is destroyed when you leave the same function...
in order to solve it, declare your CEdit inside the class and then use it from any function in the same class, the CEdit will exist while the owner class exists too...
Hope this helps...
|
|
|
|
|
There where some typos in the code.
CEdit pEdit = new CEdit;
CEdit* pEdit = new CEdit; So it was a pointer. But the problem is that it crashes in subclassWindow(...)
A better way of explaining my problem is.
I Have my Dummy controller an that controller then creates a new controller ( CEdit ) and displays it inside CMyDummyCtrl and the CEdit controller is taking up the same place that CMyDummyCtrl and all Messages sent to CMyDummyCtrl should always be relayed to CEdit since CMyDummyCtrl isn't really doing anything
That is what I want to do. And I thought I was able to do that with subclassWindow(..)
but I don't get it to work.
|
|
|
|
|
Has anyone tried capturing events fired by CHotKeyCtrl? I would like to know when the user selects a new hotkey but I can't seem to find any info on that. Anyone?
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
|
|
|
|
|
It sends an EN_CHANGE message just like an edit control.
--Mike--
THERE IS NO THERE IS NO BUT THERE IS
MAGIC PIXIE DUST BUSINESS GENIE CODE PROJECT
Homepage | RightClick-Encrypt | 1ClickPicGrabber
"Which comes first, the bug or the stress?" -- Chris Maunder
|
|
|
|
|
Hiya can anyone show me quickly how to use Visual Source Safe 6.0. I have a project that I want to make changes to and then detect in VSS and make the necessary changes...
Also does anyone have a tutorial on VSS??
Thanks a million,
grahamoj.
|
|
|
|
|
Heres the scenrio I would like to access a set of library functions that were originally designed to be called from C (they are in fact the Sybase Open Client libraries), I know there are OLE and ODBC drivers etc but they constrain what you can do.
So the idea is to write some "glue" to go between the C interfaces of open client and VB.NET.
I believe that there is no reason why I cannot do this so I tried to just test this out and wrote a simple class in C++, compiled it as a DLL and tried to link it in as a reference to my VB program. This returns an error saying that my dll is not a .Net assembly.
I have tried to find something relevant in all the documentation that I have available but there is just so much I have been unable to find what I need.
Can someone throw me a bone here before I go totally bald.
Thanks
|
|
|
|
|
|
I want to create a piece of code which will be opening a new browser window displaying given Url.
It seems to be very easy, but I don't have idea how to do this.
Please help
|
|
|
|
|
ShellExecute (NULL, "open", url, NULL, NULL, SW_SHOW);
|
|
|
|
|
Great thank you.
Could you give me a hint how to open this url in a new browser window, not in the already opened one.
Thanks in advance
|
|
|
|
|
ShellExecute (NULL, "open", "iexplore.exe" , "http://www.etc.com", NULL, SW_SHOW);
1) Better to type _T("string") instead "string"
2) The 3rd param is the program to "open" and the 4th param is the parameter for the 3rd
3) If you type
ShellExecute (NULL, "open", url_1, NULL, NULL, SW_SHOW);
Sleep(2000); // 2 seconds
ShellExecute (NULL, "open", url_2, NULL, NULL, SW_SHOW);
the web pages (1st,then 2nd) will be show on the same browser window.
The code line I suggest you will open multiple windows
4) Look in MSDN for "ShellExecute", in order to understand last parameter
(you can combine more atributes using '|' operator)
5) If your URL is not a constant string, make a variable:
CString strUrl;
...
ShellExecute (NULL, "open", (LPCTSTR)strUrl, ......)
|
|
|
|
|
Hallo!
Is there anybody how knows, or even has, a VC++ sample (or a link for more details) how to create and send a MagicPacket to create a "Wake up on lan" event on an other PC!
Thanks a lot!
Ralph
|
|
|
|
|
Here's a short program [^]for doing this on linux. (discussed here[^])
It should be easy to port.
|
|
|
|
|
Thanks for your quick reply!
I'll try to code this in MFC and W2K, may be it works!
Ralph
|
|
|
|
|
Suppose I have class, what would be better - using references to deliver message between the member functions or declare the delivered objects as data members of the class?
class bla{
public:
...
private:
Worker w;
};
OR
void func1() {
...
func2(w);
...
}
void func2(Worker& w) {
...
}
-----------------------
But what did I do?
|
|
|
|
|
There is no one correct answer to this. In your first case, class bla actually owns the Worker object, and so this is apropriate if it is part of an aggregation relationship. The second case is appropriate where you do not own the object, but need to operate on it. Of course, if most of the class methods need a reference to the Worker object, you could declare a reference, not an object, inside the bla class.
If you can be more specific about what you are doing i might be able to give a more specific answer.
Dave
|
|
|
|
|
Thank You Dave.
There is no "specific problem". I was just wondering
What you said seems very legitimate to me. In fact, I suspected this should be the consideration I should take. Do you have any idea if there is any difference in performance?
Thanks again
-----------------------
But what did I do?
|
|
|
|
|
There is a difference in performance, but the vast majority of the time it is irrelevant. Member functions actually have a hidden first parameter, which is the 'this' pointer. To access a member variable, they must retrieve the value at the address which is a known offset from this pointer.
If the variable is passed in as a parameter, it can be accessed more directly, because it is at a known address on the stack (or rather a known address relative to the current top of the stack). On most architectures, this will mean that accessing a member variable will take 1 instruction more than accessing a parameter - fairly inconsequential.
Dave
|
|
|
|
|
I need to make an analyzer of heads of methods in Visual C++, that is given a head of a method in a CString of the following way:
BOOL FichControl::CopyFile( const char *lpSrcFilename, const char *lpDestFilename, int nBuffersize )
I need to obtain each SubString that conforms the head (BOOL, FichControl, CopyFile, const char, *lpSrcFilename, ...)
Exists some form to do this, that is not crossing the CString of principle to aim character to character?
Thank you very much!
PD: Sorry for my bad English.
|
|
|
|
|
I think, you can construct some regular expression to handle such a string parsing.
RegExp is a thingie, where you describe the format of string, it's parts etc. Then it can check if the supplied string matches the specified format, and the library is also able to parse the string for you to parts you specify. It allows you to specify optional parts of string (class specification e.g. FileControl:: ) and repeating (parameters - there can be zero or X parameters)
for some examples of regular expressions, you can look to: http://www.regexlib.com/[^]
There are a lot of available regexp libraries - in ATL7 is one, the class is named I guess CAtlRegExp or something like that. The boost library also provides some regular expression code.
Later on, when you will be happy with the construct, there are some tools around 'compiling' the regexp expression to the plain C (you will get some speedup)
hope this helps
|
|
|
|
|
How can a VB program pass an array of string by reference to a C DLL for updating and then return back to VB.
Most grateful if there is sample coding.
|
|
|
|
|
Hello,
i work with CHtmlView in MDI project and i want to stop Popup window, so i do :
void CBrowserMDIView::OnNewWindow2(LPDISPATCH* ppDisp, BOOL* Cancel)<br />
{<br />
<br />
*Cancel = true;<br />
}
but with this code i block all new window, if the user click on link which open a new window, it is stoped by *Cancel = true; .
So how can i distinguish if OnNewWindow2 is called via script or by click ??
PS: excuse my poor english
|
|
|
|
|
I don't know if OnBeforeNavigate2() is called for popup windows, but if it is you can do the cancel there based on the lpszURL param.
Neville Franks, Author of ED for Windows. www.getsoft.com
Make money with our new Affilate program
|
|
|
|
|
Neville Franks wrote:
I don't know if OnBeforeNavigate2() is called for popup windows, but if it is you can do the cancel there based on the lpszURL param.
thx !
ok but how know if it is a desired popup (click on link) or a ad popup ?
could you more explain please
|
|
|
|