|
Hi,
i think, the CListCtrl-Subwindow in the Dialog Window doesn't send the stylus tap-recognition to the Dialog Window, so that the notification of WM_LBUTTONDOWN doesn't work. I only can handle the Click-operation in that window (tap and release) if i tap on the ListCtrl-box the selection isn't changing, only by a click it's changing. I think that's the problem, but i don't know how to handle ...
Greetings, Frank
_____ easySMS for pocket PC _____
www.Siedler-Net.de/WinCE/easySMS/
|
|
|
|
|
Is it possible to handle these input messages from the stylus with PreTranslateMessage(MSG* pMsg) ?
I have figured out, that if i use that function, i can handle the WM_LBUTTONDOWN message even if i click on the ListCtrl-window, and not only on the dialog box window. But now the problem is, that i have to know, which window in the dialog box is active and should be handled! Because the other Windows should be handled normal.
And is it normal, that the selected item in a listbox is only changing, if you are clicking on it? With normal windows applications, you only have to tap on it and it's quite changing.
Greetings,
Frank
|
|
|
|
|
I need to display data in a grid with automatic colors depending on the data (e.g. -1 = red, 0 = black, 1 = green). I've found
http://www.codeproject.com/csharp/custom_datagridcolumnstyl.asp
but this doesn't work with the compact framework.
I think the reason is that it's not possible to override the Paint methods of DataGridTextBoxColumn in the compact framework.
Is there any way to have such a datagrid (with different colors for each cell) based on the .NET compact framework datagrid or will I have to reimplement the wheel (i.e. DataGrid) for our application?
|
|
|
|
|
Hi,
I have exactly the same problem
did you find a datagrid?
anyone has an idea?
thank you!
Jermo
|
|
|
|
|
I ended up implementing a datagrid myself... it's pretty much optimized for "perceived performance"... if you're interested, you can contact me at david@purple-sunshine.de...
david
|
|
|
|
|
Hello, I have an application that has to start a new thread. In this thread I acquire and I calculate data. So, when I exit the program, I terminate the Thread but the thread doesn't exit!
Here is the code:
Starting the Thread:
CMyClass::Enable()
{
fEnabled = 1;
DWORD ThreadID;
m_hNewThread = CreateThread(
NULL,
0,
MyClassThreadProc,
this,
0,
&ThreadID);
}
Thread Proc function:
DWORD WINAPI MyClassThreadProc( LPVOID pParam )
{
CMyClass* pObject = (CMyClass*)pParam;
if (pObject == NULL)
return -1;
pObject->ServiceHandler();
return 0;
}
Idle function:
void CMyClass::ServiceHandler()
{
while (fEnabled)
{
}
}
When I want to exit the Thread, I call this function:
void CMyClass::Disable()
{
if (!fEnabled)
return;
DWORD ExitCode;
fEnabled=0;
GetExitCodeThread(m_hNewThread,&ExitCode);
while(ExitCode == STILL_ACTIVE)
GetExitCodeThread(m_hNewThread,&ExitCode);
WRS232::Close();
return;
}
But that doesn't work !! The while loop in the Disable function never ends !!! I have not this problem when I set a breakpoint in this loop !
Thanks for help !!
|
|
|
|
|
Have you added the volatile keyword to the fEnable flag? That's needed, otherwise the compiler will remove the while (fEnabled) statement during optimizing the code.
Daniel
---------------------------
Never change a running system!
|
|
|
|
|
Hello!
Thanks for reply . I forgot the volatile keyword ! But, it doesn't work with it neither
When I exit my application, the Pocket PC goes much much more slowly (the thread is still in use)!
Any idea?
|
|
|
|
|
Take a look at the following code that I use in some of my projects. I create a thread at program start and terminate it when the user close the dialog.
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_bRunning = TRUE;
m_pSendDataThread = AfxBeginThread(SendData, this,
THREAD_PRIORITY_NORMAL,
0,
CREATE_SUSPENDED);
ASSERT_VALID(m_pSendDataThread);
m_pSendDataThread->m_bAutoDelete = FALSE;
m_pSendDataThread->ResumeThread();
return TRUE;
}
UINT CMyDlg::SendData(LPVOID pParam)
{
CMyDlg* pDialog = reinterpret_cast<CMyDlg*>(pParam);
ASSERT(pDialog);
if (pDialog)
pDialog->SendData();
return 0;
}
void CMyDlg::SendData()
{
while (m_bRunning)
{
}
}
void CMyDlg::OnDestroy()
{
CDialog::OnDestroy();
m_bRunning = FALSE;
WaitForSingleObject(m_pSendDataThread->m_hThread, INFINITE);
delete m_pSendDataThread;
}
Daniel
---------------------------
Never change a running system!
|
|
|
|
|
Ok, that works fine with AfxBeginThread and WaitForSingleObject (I just replaced these functions).
Don't know why it didn't work with my method!
Thanks a lot for your help
|
|
|
|
|
PocketPC 2002
EVC 3.0
Using MFC
I've tried a numer of things to get a splash screen displayed, but nothing seems to work. I'm also trying to get a *full screen* splash screen.
[EDIT] I can't seem to get a modeless dialog box to display at all.
------- signature starts
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
Please review the Legal Disclaimer in my bio.
------- signature ends
|
|
|
|
|
Hello,
Is there a wireless 802.11b utility sample code which can detect SSID and singal ...?
Joye
|
|
|
|
|
Dear Friends,
I have created an MFC ActiveX Control using embdedded VC++ 4.0.
I have two problems/issues here. All the functionality which i
need i have already imeplemented.
problem1
---------
If i want change the default CLSID of my ActiveX Control to
some other CLSID. how can i do that.
problem2
---------
In some situations i need to use TreatAs registry key to transfer
the request that comes to my ActiveX Control. This TreatAs registry
key is not working for me currently. Is there any specific setting
i have to do in ActiveX Control for using TreatAs key.
Thanks and Best Regards,
subramjobmail,
2003/06/26 (09:49 JST).
|
|
|
|
|
Hello,
How to detect a thread function was ended(exit)?
When a thread function ended and I will close it's handle. How to Close this handle in another thread?
Thanks.
Joye
|
|
|
|
|
Take a look at the following article Using Worker Threads.
void CMyView::OnClose()
{
myWorkerThread->m_bAutoDelete = FALSE;
running = FALSE;
WaitForSingleObject(myWorkerThread->m_hThread, INFINITE);
delete myWorkerThread;
CView::OnClose();
}
Daniel
---------------------------
Never change a running system!
|
|
|
|
|
Hello everyone,
I write a POCKET PC Irda Chat application.
Two POCKET PC transmiss data to each other.
When one application is close, then start up again and ready to send data but this action will get a error code=1359.
If two devices closed and start up again, the function will work fine.
The question is when one closed and never can connect with the other one.Why?
Please reply the answer to tsung-yu@yahoo.com.tw simultaneously.
Thanks.
|
|
|
|
|
What kind of communication do you use? RAW IR or IR SOCKET communication?
Show us the code do you use!
Daniel
---------------------------
Never change a running system!
|
|
|
|
|
Hello,
I use IrComm port and call OpenFile(),WriteFile(),ReadFile() function.And I create two threads,one is for sending and another one is for receving.
Joye
|
|
|
|
|
Try to use the RAW IR port and not the IrCOMM port.
How to find the real RAW port index just take a look at Raw IR on Pocket PC.
Daniel
---------------------------
Never change a running system!
|
|
|
|
|
Hello,
The other question is how to detect a irda device approached or go away.
Joye
|
|
|
|
|
Hi,
i handle that with checking a timeout period while sending
and receiving ... that works quite good.
Greetings,
Frank
|
|
|
|
|
Hello,
Do you have any idea about using IrSock?
I need to discover the server using this and actually i want to send/receive packet/file from one device to another device. (ie)
HandHeld -To - HandHeld Communication
HandHeld - DeskTop PC communication
please give me some idea in this regard and let me know if you have any code for to test.
thanks,
siva
|
|
|
|
|
I have written an article how to use IrSock to send and/or receive data from and to a Desktop PC or another Pocket PC. The guys from PocketPCDN are going to translate it to english, because I have written it in german. So, I think they will publish it the next time.
Daniel
---------------------------
Never change a running system!
|
|
|
|
|
|
this is the code i used in eVC++, in the Windows CE API in the WinMain function, from grattan's, [i]pocket pc development in the enterprise.[/i]
SHELLEXECUTEINFO sei;
TCHAR tFile[255];
if (lpCmdLine[0]==0) wsprintf(tFile, TEXT("\\ePowerDiagnostic.vb"));
else
wsprintf(tFile, lpCmdLine);
ZeroMemory(&sei, sizeof(sei));
sei.cbSize = sizeof(sei);
sei.lpFile = tFile;
return ShellExecuteEx(&sei);
return 0;
supposedly, since the eVB application (project1.vb, [i]ePowerDiagnostic.vb in my case[/i])is "associated with the pvbload.exe, the ShellExecuteEx will load the pvbload.exe file with the project1.vb as a parameter ( just as if we were tapping the project1.vb file from the start menu or programs folder.
however, i followed the instruction, imported an icon, and compiled by using the relase suffix and building the project. i copied the lauch app to the device. however, the error msg i keep getting on the pocket pc is
" 'ePowerDiagnostic' is not a valid Pocket PC application "
I'm not sure where I went wrong....
thx.
|
|
|
|