|
I have a multiline CEdit, and want to limit lines to being 80 char. Right now I'm planning on setting a fixed-width font, and defining the edit controls CRect to match.
Is this the only way, or can I set it to X characters somehow?
Thanks!!
BW
The only people for me are the mad ones, the ones who are mad to talk, mad to live, mad to be saved, desirous of everything at the same time, the ones who never yawn or say a commonplace thing, but burn, burn, burn like fabulous yellow roman candles exploding. - Jack Kerouac
|
|
|
|
|
I've got a multiline CEdit for code editing, and would like the first 6 characters to be colored, and not accessible. Can I do this inside a single edit control?
Thanks!
BW
The only people for me are the mad ones, the ones who are mad to talk, mad to live, mad to be saved, desirous of everything at the same time, the ones who never yawn or say a commonplace thing, but burn, burn, burn like fabulous yellow roman candles exploding. - Jack Kerouac
|
|
|
|
|
bool IsNumber( LPCTSTR pszText )
{
ASSERT_VALID_STRING( pszText );
for( int i = 0; i < lstrlen( pszText ); i++ )
if( !_istdigit( pszText[ i ] ) )
return false;
return true;
}
I read in MSDN that you can substitute a CString for an LPCTSTR, so thats one type. What if I have
char* abc = "hello"; . Can I do IsNumber(abc) on it? Or do I have to do something to make the char* an LPCTSTR?
Appreciate your help,
ns
|
|
|
|
|
Take a look in the MSDN:
LPCTSTR A 32-bit pointer to a constant character string that is portable for Unicode and DBCS.
So, if you use no UNICODE or DBCS you can!
Daniel
---------------------------
Never change a running system!
|
|
|
|
|
I just started reading Michael Dunns article on C++ strings on CP, so hopefully I'll be a little clearer about all these different types. Many thanks.
Appreciate your help,
ns
|
|
|
|
|
Hi guys, I'm trying to avoid cyclic dependencies in my code. How would I go about creating a global class, ie a class that can be queried and altered from all other classes in my code?
Thanks.
ASP.NET can never fail as working with it is like fitting bras to supermodels - it's one pleasure after the next - David Wulff
|
|
|
|
|
I'm a novice, and I don't know if this is the best solution or not (since I'm a novice I suppose not ).
I create an instance of one class in the application class and then I create a public function in the application class that returns a pointer to the class that I want to share, then I place an extern reference to the main class (app) and I can get the pointer...
steps:
0. Include the header file of the class that you want to share.
1. In your app. class create a pointer to the class that you want to share.
2. Create a member function in your app. class that return the pointer to the shared class.
3. where you want to use the shared class declare the app object as extern (see below)
4. use it...
<br />
extern CMyApp MyApp;<br />
<br />
<br />
<br />
<br />
<br />
MyApp.GetThePointerToTheClassThatIWantToShareFunction()->A;<br />
<br />
Hope this helps...
If not sorry, I'm a novice...
|
|
|
|
|
Hmm, thanks...I'll take a look. I'm not writing an MFC app by the way. (Noticed your class naming convention)
ASP.NET can never fail as working with it is like fitting bras to supermodels - it's one pleasure after the next - David Wulff
|
|
|
|
|
use a singleton pattern.
class MyClass
{
...
public:
static MyClass* Instance();
private:
static std::auto_ptr<MyClass> m_pInstance;
...
}
#include "myClass.h"
std::auto_ptr<MyClass> MyClass::m_pInstance;
MyClass* MyClass::Instance()
{
if(m_pInstance.get() == 0)
{
std::auto_ptr<MyClass> tmp(new MyClass);
m_pInstance = tmp;
}
return m_pInstance.get();
}
...
and somewhere else :
#include "myClass.h"
void somewhereElse::doSomething()
{
MyClass* pMyClass = MyClass::Instance();
...
}
Max.
|
|
|
|
|
Thanks!!
ASP.NET can never fail as working with it is like fitting bras to supermodels - it's one pleasure after the next - David Wulff
|
|
|
|
|
Hi people
I want to open files from the "Temporary Internet Folder"(read access). The problem is, the CFile open-Function does not open the file.
Are the files in this Folder special protected??
thanx
|
|
|
|
|
Just try to open the file with the CreateFile API function, with the GENERIC_READ and the FILE_SHARE_READ flag.
It is possible, that the file is opened by the system (Internet Explorer, etc.) without any FILE_SHARE_??? flag, so that you are not allowed to open the file!
Daniel
---------------------------
Never change a running system!
|
|
|
|
|
No, but the Temporary Internet Folder is a special in that the actual files are stored differently. There are subdirectories underneath it that the files are stored in. Take a look using a command prompt and you'll see what I mean.
Joel Lucsy (jjlucsy@concentric.net)
|
|
|
|
|
There are APIs for getting the filename of files in the IE cache. One is RetrieveUrlCacheEntryFile() - pass it the URL and the function will return the name of the cached copy, if there is one.
--Mike--
Just released - 1ClickPicGrabber - Grab & organize pictures from your favorite web pages, with 1 click!
My really out-of-date homepage
Sonork-100.19012 Acid_Helm
|
|
|
|
|
Still can't work, because of datatype casting.
suppose, I want to send two parameters, one is BYTE* m_pByte, the other, int m_nLen. Then, I use PostThreadMessage Like this,
<br />
::PostThreadMessage(m_threadID,WM_DATA_ARRIVAL,(WPARAM)m_pByte,(LPARAM)m_nLen);
Now I use GetMessage() to get the message (here is WM_DATA_ARRIVAL) as well as m_pByte and m_nLen,
<br />
...<br />
MSG msg;<br />
while(::GetMessage(&msg, NULL, 0,0))<br />
{<br />
switch(msg.message)<br />
{<br />
case WM_RXD_ARRIVAL:<br />
AfxMessageBox(msg.lParam);<br />
break;<br />
default:<br />
break;<br />
<br />
};<br />
};<br />
...
Extreme programming. Do the No.1
|
|
|
|
|
Is m_pByte a pointer to a NULL terminated string?
If so, try
AfxMessageBox((LPCTSTR) msg.wParam);
or if m_pByte is no pointer to a NULL terminated string try
...
CString str;
str.Empty();
...
BYTE* pByte = (BYTE*) msg.wParam;
...
for (int n = 0; n < msg.lParam; n++)
{
str += (char) *pByte;
pByte++;
}
...
AfxMessageBox(str);
...
Daniel
---------------------------
Never change a running system!
|
|
|
|
|
I got random code!
I accept data from comm port, it's should be bytes, but after cast into CString, it's just random code, just like Japaness Characters or Tranditional Chinese Characters.
what's wrong?
thanks alot.
Extreme programming. Do the No.1
|
|
|
|
|
I have changed the code in my reply! I hope it works!
The bytes you received from the com, are they realy printable bytes?
Just look on the pointer pByte with your debugger and you will see what you received!
Daniel
---------------------------
Never change a running system!
|
|
|
|
|
try formatting it into an array of chars or a CString before doing the message box, See CString::Format or sprintf for that
Papa
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|
|
Hi,
I've got to develop an application thats something like drawing circiuts over the screen. please suggest a method. thanks in advance
|
|
|
|
|
If you want draw your circiuts, etc. very fast use OpenGL or DirectX, also GDI+ is a very good choice!
Daniel
---------------------------
Never change a running system!
|
|
|
|
|
You need to read about device context s (DC s).
These are used to access the screen, and hand you draw commands over to the graphics card driver.
There are a lot of methods for drawing, coloring, writing text etc.
|
|
|
|
|
I have an MFC application built around a CView Class. However, now I need to create a .NET form and have no idea how to make sure it is properly parented within the application. Any ideas? Examples?
Very new to .NET and climbing that learning curve...
|
|
|
|
|
I want to send the boss an update of my work.
How does one go about compiling a mfc project so that the .exe can be run on any machine?
I'm running VC++6 Professional edition on Win2K.
thanks,
kash
|
|
|
|
|
Build Menu, Set Active Configuration.
The build your project.
Signature space for rent. Apply by email to....
|
|
|
|