|
Override WM_MOVING (and/or WM_SIZING ) to prevent the user from moving/resizing the window.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
You could also remove caption of the window if possible ... if window has no caption then users do not have anything to move it.
|
|
|
|
|
false
the title bar can be empty, while been there anyway....
TOXCCT >>> GEII power
|
|
|
|
|
IIRC you can still use the keyboard to move such windows.
Ant.
I'm hard, yet soft. I'm coloured, yet clear. I'm fruity and sweet. I'm jelly, what am I? Muse on it further, I shall return! - David Williams (Little Britain)
|
|
|
|
|
|
I had used the OnCtlColor() but it didn't work. the code i used is as follows:
suppose the edit box id is IDC_LONG_EDIT; and default property i had set as ReadOnly. and is there any need to call this function or the application will take care of it
the i had used as a pDC->SetBkColor(RGB(0,0,0));
but it was no use
Neelesh Jain.
|
|
|
|
|
Did you bother to read the page I refered to? You can't use SetBkColor(). You need to return a predefined brush which is used to paint the background.
Neville Franks, Author of ED for Windows www.getsoft.com and coming soon: Surfulater www.surfulater.com
|
|
|
|
|
Hi,
Hi,
On the header file add
CBrush m_brush;
On OnInitDialog add
m_brush.CreateSolidBrush(RGB(255,0,0));
On OnCTlColor Handler add
if (pWnd->GetDlgCtrlID() == IDC_EDIT1)
{
// Set the text color to red
pDC->SetTextColor(RGB(255, 255, 255));
// Set the background mode for text to transparent
// so background will show thru.
pDC->SetBkMode(TRANSPARENT);
// Return handle to our CBrush object
hbr = m_brush;
}
This will work
|
|
|
|
|
Hi,
Add the OnCtlColor(..) handles and change it. Have a look @ msdn
Sujan
|
|
|
|
|
|
Hi Everone,
I am trying to access my parallel port using the library winio.dll. I managed to do so using an administrative account but that wasn't possible using a non-administrative accuont. I have used this function to do so, but unfortunately I couldn't succeed:
InstallWinIoDriver("C:\MyApp\Debug\WinIo.sys",FALSE);
can anyone halp plz
thanx in advance
|
|
|
|
|
Quote from MSDN
if The driver package is not digitally signed
then
"Manual installation of a driver requires administrator permissions"
so , i think you have to be a administrator to install it
but you only need to install it the first time, so after installed you can use it without be an administrator
I think...
|
|
|
|
|
hi all,
Can any one tell me how to autohide the parent window ??I have an MDI application where when i move my mouse on the child window the parent window should hide....We can these effects in Windows Media player..Can any one tell me how to do it in a normal MFC application.....
thanx in advance
|
|
|
|
|
If you are talking about the parent of an MDI window then hiding it you will also hide the MDI window. You'll have to use your own windows, not MDi for this.
Neville Franks, Author of ED for Windows www.getsoft.com and coming soon: Surfulater www.surfulater.com
|
|
|
|
|
hi,
I heard we can do that using regions and tried a sample in SDI...its coming but not exactly like media player...so i will let u know once its completly coming
|
|
|
|
|
Hi All,
I am working on a multi-threaded appln.In that I want to create an array of worker threads (like CWinThread *multthreads[maxsize]), which manipulates on some data until i ask them to stop(Using waitForSingle/MultipleObject) PEACEFULLY(not terminating). Say if i may want to stop the thread @ the 5th position.
I am awaiting for your comments
Thanx in advance
SUjan
|
|
|
|
|
|
Hi Franks,
Thanx 4 the link. I'll look into it.
|
|
|
|
|
Hi Franks,
I tried a dialog based program 4 multithreading. Here i am adding the sourcing which i have created.
#define MAX_CONNECTIONS 5
#include <afxmt.h>
static CWinThread *multthreads[MAX_CONNECTIONS];
static CEvent m_eventShutdown[MAX_CONNECTIONS];
static HANDLE hShutDown[MAX_CONNECTIONS];
static int shutdownWait[MAX_CONNECTIONS];
static int ShutThreadIndex;
int tableCount = 0;
//OnInitDialog
for (int count=0;count<max_connections;count++)
{
hshutdown[count]="NULL;
" shutdownwait[count]="0;
}
hShutDown[0]" =="" wait_object_0;
="" worker="" thread="" function
uint="" dataaccessthreading(lpvoid="" pparam)
{
="" dword="" dwret="WaitForMultipleObjects(MAX_CONNECTIONS,hShutDown,FALSE," infinite);
="" switch(dwret)
="" {
="" case="" wait_timeout:
="" break;
="" wait_failed:
="" while="" (true)
="" trace1("\ncaching="" 0x%x="" ",getcurrentthreadid());
="" switch(::waitforsingleobject(m_eventshutdown[shutthreadindex].m_hobject,shutdownwait[shutthreadindex]))
="" wait_object_0:
="" this="" is="" what="" we="" want="" to="" happen.
="" trace("wait_object_0");
="" break;
="" wait_timeout:="" something="" bad="" happened="" -="" force="" the="" termination
="" trace("timeout");
="" ::terminatethread(*i,="" 1);
="" wait_abandoned:="" has="" been="" terminated="" already!?="" maybe...
="" trace("wait_abandoned");
="" default:
="" trace("other");
="" }
="" sleep(2000);
="" trace("exit="" \n");
="" wait_object_0="" +="" 1:
="" trace("userobject="" trace("defalut="" }
=""
="" return="" 0;
}
="" start="" a="" i="" am="" using
void="" cmultitestingdlg::onbuttonstart()
{
="" multthreads[0]="AfxBeginThread(DataAccessThreading,p,0,0,CREATE_SUSPENDED);
" multthreads[0]-="">m_bAutoDelete = FALSE;
multthreads[0]->ResumeThread();
hShutDown[1] = multthreads[0]->m_hThread;
}
//To Shutdown the thread i am using
void CMultiTestingDlg::ShutdownThread(int i)
{
ShutThreadIndex = i;
shutdownWait[ShutThreadIndex] = INFINITE;
m_eventShutdown[ShutThreadIndex].SetEvent();
TRACE1("\nShutdown Index %d\n",i);
}
The problem i am facing is, when i give shutdownthread, sometimes it is closing the correct thread, sometimes it is not closing the correct thread.
PLEASE HELP ME. AM I GOING ON THE RIGHT DIRECTION.
SORRY FOR TROUBLING YOU MUCH.
THANX IN ADVANCE
Sujan
|
|
|
|
|
All thread functions DataAccessThreading() are accessing the same global data and they don't know which instance of the thread they are. So the first thread to check eventShutdown[ShutThreadIndex] which see it and behave as requested.
I would wrap:
static CWinThread *multthreads[MAX_CONNECTIONS];
static CEvent m_eventShutdown[MAX_CONNECTIONS];
static HANDLE hShutDown[MAX_CONNECTIONS];
static int shutdownWait[MAX_CONNECTIONS];
static int ShutThreadIndex;
in a class and create an array of these. The pass the array instance address into the DataAccessThreading() function. Each thread knows which intance it is and only needs to check its specific eventShutdown.
Neville Franks, Author of ED for Windows www.getsoft.com and coming soon: Surfulater www.surfulater.com
|
|
|
|
|
Dear Franks,
THANX A LOT.
I was literally struggling with this. I'll try as per your suggestion. Incase of need i'll trouble(SORRY 4 that) again.
Moreover i was having a doubt that whether i am going in the right direction.So your reply helps me a lot.
THANX A LOT
Yours
Sujan
|
|
|
|
|
Dear Franks,
I tried by creating a class and used it as you have said, still getting the same problem. Do you have any sample code, which does this. If you do have, will you please post it. I am in deep trouble.
SORRY FOR DISTURBING YOU AGAIN.
if the code is too large you can send it to my mail id also
AWAITING YOUR REPLY
Yours
Sujan
|
|
|
|
|
Hello,
I started a multithreaded application a few weeks ago and I find this[^] class extremely usefull.
Your code would look like this:
<br />
CThread threads[maxsize];<br />
threads[4].Stop();
Hope this helps..
Multiply it by infinity and take it beyond eternity and you'll still have no idea about what I'm talking about.
|
|
|
|
|
Hi Bob,
Just now only i saw your reply. Thanx, i'll go through the article.
Sujan
|
|
|
|
|
What data and how are the threads processing the data?
Kuphryn
|
|
|
|