|
Its all a little fuzzy, but I think a call to bind should fail if the sockets local address + local port specified in the SOCKADDR is already in use.
Also, winsock has the ability to bind to a port generated for you (specify a 0 for port), which you can query with getsockname .
|
|
|
|
|
What is the MFC function call to allow a resouce dll to run within the context of an application without resource ID conflicts?
|
|
|
|
|
Use:
//every entry to the resource dll
HINSTANCE m_hInstOld = AfxGetResourceHandle();
AfxSetResourceHandle(extensionDLL.hResource);
//do stuff
//last call before returning in the resource dll
AfxSetResourceHandle(m_hInstOld);
Regards
Boris
|
|
|
|
|
Might need this as well...the extensionDll above is your extension module for the dll, eg the line given by
static AFX_EXTENSION_MODULE extensionDLL = { NULL, NULL };
above the main dll entry point, eg
extern "C" int APIENTRY
DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
Regards
Boris
|
|
|
|
|
Here's something that's puzzling me: the purpose of the callback function for AVISave is to update a Progress control with the percent done. But the callback function must be global or static, and only takes an int nPercent argument, so how can I access any Progress control or dialog member variables from this callback function??
*****
Jake Palmer
www.duke.edu/~jp6
|
|
|
|
|
I think you might get away with something similar to the following;
YourDialog.h:
class CYourDialog : ... {
static CYourDialog * pThis;
static LONG SaveCallback ( int nPercent );
};
YourDialog.cpp:
CYourDialog * CYourDialog::pThis = NULL;
CYourDialog::CYourDialog () {
pThis = this;
}
LONG CYourDialog::SaveCallback ( int nPercent ) {
}
Ben Burnett
---------
On the topic of code with no error handling -- It's not poor coding, it's "optimistic"
|
|
|
|
|
Recently, a new website about C++ started.
The site has very powerful databases, that will make you find what you are looking for in a matter of seconds!
The site has:
-> Tutorials
-> Code
-> News
-> Utilities/Tools
-> Links
-> Forums
-> Interviews with programmers
The users can also publish their own tutorials, code, link and tools. This is made by automatic process. So, the user just types the text, and some additional information, and his article gets online immediately!
Come!
The address is: www.cpp-home.com
If you want directly to access the forums, go to: http://forums.cpp-home.com
Thank You!
Ilia Yordanov,
www.cpp-home.com
|
|
|
|
|
Hi, I have a multiline edit box and I am trying to insert text into it, but when I insert one line it does not go to the next line, and anytime I add text afterwards it just keeps it all on one line. Any suggestions?
Marco
|
|
|
|
|
I had this problem for a while - if I am remembering correctly the solution is to NOT have the style AutoHScroll set. That should wrap at the end of each line instead of scrolling. Good luck!
*****
Jake Palmer
www.duke.edu/~jp6
|
|
|
|
|
CString l_sNewText;
between each line instead of '\n' add 13 and 10.
like this:
==========
l_sNewText= "1st line";
l_sNewText+= 13;
l_sNewText+= 10;
l_sNewText+= "2nd line";
l_sNewText+= 13;
l_sNewText+= 10;
l_sNewText+= "3rd line";
m_YourCEditControl.SetWindowText( l_sNewText);
==========
this definitely will work
The characters 13 and 10 works together as a new line(like '\n').
why is it like that and '\n'????
I really don't know!!!
Name: STR
Mission: Take Over The World (c:
Tips: If you build it, he will come.
More Tips: If you lick it, she will cum.
|
|
|
|
|
This function do not work, why...
CSpecialControl is derived from CWnd
BOOL CSpecialControl::Create(const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext)
{
BOOL Oktemp;
//after this line hbm is null, IDB_BITMAP1 is a valid resource...
//why it does'nt work? How I am supposed to use it?
HBITMAP hbm = ::LoadBitmap(NULL,MAKEINTRESOURCE(IDB_BITMAP1));
//this work
CBitmap MyBitmap;
MyBitmap.LoadBitmap( IDB_BITMAP1);
//this work
Oktemp = CWnd::Create
(NULL,_T(""),WS_CHILD|WS_CLIPCHILDREN, rect, pParentWnd, nID ,pContext);
//this work, I can see the button and catch his command
Oktemp &= m_cBouton_1.Create
(_T(""),WS_CHILD |BS_PUSHBUTTON|BS_BITMAP|WS_VISIBLE ,CRect(0,0,100,100),this,IDC_BUTTONGAUCHE);
//and the bitmap is never displayed on the button....
//do I have to set a different Style ti my button?
m_cBouton_1.SetBitmap(MyBitmap);
m_cBouton_1.ShowWindow(SW_SHOWNORMAL);
return Oktemp;
}
Remi Morin
Rmorin@Operamail.com
Remi.Morin@Lyrtech.com
|
|
|
|
|
> //why it does'nt work? How I am supposed to use it?
> HBITMAP hbm = ::LoadBitmap(NULL,MAKEINTRESOURCE(IDB_BITMAP1));
Use AfxGetInstanceHandle instead of NULL as the first parameter
|
|
|
|
|
The MyBitmap goes out of scope, so the bitmap is destroyed. Make the object a member variable so it stays around for the life of the control.
--Mike--
http://home.inreach.com/mdunn/
A recent survey reports that 1/4 of all internet users in England surf for porn.
The other 3/4 just didn't want to admit it.
|
|
|
|
|
Hello,
I am trying to populate a list control (report style) on "A" Dialog box from "B" Dialog.. can this be done? What I have tried so far is.. I setup a listbox on "A" and created a member function called Populate().. What I cant figure out is how can I use this Populate() function from the "B" Dialog box?
Any ideas?
Thanks,
RobJones
|
|
|
|
|
There an easy way... I don't know if it's the best... but
You have to find the common "parent" to set up a "road" between you'r 2 dialog box. Like the Application itself, you can create a function who look like
void MyApplication::Populate()
{
DialogA.Populate()
}
in you'r dialog b you will be able to do¨
void DialogB::FucntionSomething(...)
{
//blablabla
(AfxGetApp())->Populate();
//blablabla
}
Other way is when you create you'r dialog if they are designed to work together you can add a private member to acess the other dialog
class DialogB : public CDialog
{
//blabla
DialogA* m_pDialogA;
}
So when you create them somewhere you can pitch there a valid pointer to the other DialogBox
Remi Morin
Rmorin@Operamail.com
Remi.Morin@Lyrtech.com
|
|
|
|
|
When I load my compiled program (under W95) on a W98 machine, it runs fine, but when I load it on a WMe machine, I get an error initializing the DAO JET Database.
Any ideas?
Richard
|
|
|
|
|
I think...
Try recompiling under WMe that should solve the problem
Name: STR
Mission: Take Over The World (c:
Tips: If you build it, he will come.
|
|
|
|
|
I think...
Try recompiling under WMe that should solve the problem
Name: STR
Mission: Take Over The World (c:
Tips: If you build it, he will come.
|
|
|
|
|
Hello,
Question #1:
I'm using a CEditView in my application to display text as it's read from the serial port. I'm having difficulty figuring out how to programatically insert text into the view. I tried the ReplaceSel function which works as long as the cursor remains at the end of the last text that was inserted. If the user selects any text in the window then it will be overwritten by this function. How can I just append a string to the view?
Question #2:
How can I turn the check marks next to menu options on/off (like the Toolbar & Statusbar commands under the View menu that Appwizard adds by default)?
Thanks a lot,
Joseph LeBlanc
unixd0od@hotmail.com
|
|
|
|
|
#1: I know I've written some hack code to do this where I got all of the edit's text into a string, appended some more onto that string, and then set the edit's text to be my new string. It was ugly, but it worked
#2: The check on a menu item comes from CCmdUI::SetCheck(bool), in the UpdateUI handler for that button item.
Hope some of that works for ya
*****
Jake Palmer
www.duke.edu/~jp6
|
|
|
|
|
Hy!
I think we work at the same problem
The solution that I find is that I get a HWND handle to the CEditView and then in the thread that read from the serial port call ::SetWindowsText( HWND, LPCTSTR ) ... it's not beautifull programming but it work ( you have to have a variable that hold all your input to this time ) ... but i'm still working at it
Bye,
Orbital
...the night is long ... but not long enought to do some real coding ...
|
|
|
|
|
Hi,
I am trying to create a Word Add-In WLL.
Been looking at the knowledgebase article
http://suport.microsoft.com/support/kb/artical/Q183/7/58.ASP
When I add the add-in, no effect takes places.
It all compiles okay, i am using Word 2000.
Anyone Any Clues, or good links of examples?
Not sure if my capilib.c, wdcapi.h, wdcmds.h, wderror.h, wdfid.h and config.h are corrupt. Does anyone know where i can get these files on-line.
Cheers
Richard
|
|
|
|
|
Hi,
An MDI app, using MFC.
I've set up all the filter things and so on in the string table. But when the user tries to "save as", i'd like to be able to suggest the filename, based on some of the documents contents. How do i do this?
|
|
|
|
|
The default OnFileSaveAs implementation calls CDocument::DoSave with NULL parameter. NULL means 'suggest simple name (based on document template) and display SaveAs dialog box". You can't call DoSave with your suggested name - this will disable the dialog box. DoSave is a virtual method, you can override it, but you can't just call base class. You'll have to copy the CDocument::DoSave body into CYourDoc::DoSave --and-- replace the code that calls CDocTemplate::GetDocString with your own routine creating suggested name.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Hi!
I'm having problem with the line
cs.lpszClass = AfxRegisterWndClass (CS_NOCLOSE);
in PreCreateWindow function of the MainFrame
I want to disable the "x" (close) button in the upper right corner. That works with the:
cs.lpszClass = AfxRegisterWndClass (CS_NOCLOSE);
But there's a catch, if I use that line my program my applicatin icon (in the upper left corner and when minimized) is replaced by some ugly windows icon!
Is there another way I could do this?
Lynse
|
|
|
|