|
If you are using MFC classes then you should override the OnPaint [^] member function of the class.
|
|
|
|
|
then if I want to implement the display effect, what should I do?
I want to show:
message1 0-2 sec,
message2 2-4 sec,
message3 4-6 sec,
...
I hope it like (calendar time) static text, or text box control in many demo program.
that is:
2014/3/15 12:51; 2014/3/15 12:52; 2014/3/15 12:53;
update time smoothly.
|
|
|
|
|
Use something like a progress dialog.
|
|
|
|
|
No such thing, it is an embedded Win CE platform
|
|
|
|
|
Pity you did not mention that at the beginning.
|
|
|
|
|
write a test program in a MFC PC program.
Now I think I can use a control, like text box to implement my job.
but I am still wonder how can I use CRect/DrawText() to implement the same job.
|
|
|
|
|
Hello Audio/Video Gurus. I don't seem to understand what following does. Here is the function.
void TransformImage_YUY2( BYTE* pDest,
LONG lDestStride,
const BYTE* pSrc,
LONG lSrcStride,
DWORD dwWidthInPixels,
DWORD dwHeightInPixels)
{
for (DWORD y = 0; y < dwHeightInPixels; y++)
{
RGBQUAD *pDestPel = (RGBQUAD*)pDest;
WORD *pSrcPel = (WORD*)pSrc;
for (DWORD x = 0; x < dwWidthInPixels; x += 2)
{
int y0 = (int)LOBYTE(pSrcPel[x]);
int u0 = (int)HIBYTE(pSrcPel[x]);
int y1 = (int)LOBYTE(pSrcPel[x + 1]);
int v0 = (int)HIBYTE(pSrcPel[x + 1]);
pDestPel[x] = ConvertYCrCbToRGB(y0, v0, u0);
pDestPel[x + 1] = ConvertYCrCbToRGB(y1, v0, u0);
}
pSrc += lSrcStride;
pDest += lDestStride;
}
}
So, whether above function converts YUV to RGB32 or vice versa. Thanks for your input.
|
|
|
|
|
|
we developed a c++ application which its GUI uses default toolbar buttons (cut, copy, paste). It's strange same executable running on some PCs when user uses mouse hovering on the cut button, the tooltip displays as Cut (Ctrl+X); on some other PCs the tooltip displays as Cut (Shift+Delete). Does anyone know the reason and how to fix it? Since Shift+Delete doesn't do real cut. Thanks
|
|
|
|
|
You developed it, so you need to look at the source code and find out why the menu or the tooltips are different.
|
|
|
|
|
As I said in the post the "cut, copy, paste" toolbar buttons are default ones, the tooltip for "Cut" is "Cut the selection and put it on the Clipboard\nCut" was not added by our application. Don't understand why this "Cut" button's tooltip displays differently on different PCs, some PCs show "Ctrl+X", some show "Shift+Delete" which is kind of misleading.
|
|
|
|
|
What do you mean by default buttons? They will still need to have associated tooltips which are set in the source code.
|
|
|
|
|
The default toolbar buttons means when creating this MFC application using application wizard, there is default toolbar generated; we customized other toolbar buttons but leaving "cut, copy, paste" untouched. Thanks
|
|
|
|
|
They will still have tooltip text somewhere in the resource files.
|
|
|
|
|
That's true. The problem is in the whole resource file there is no "Shift+Delete" string found. "Ctrl+X" is used for "cut" button. Why does it show "Shift+Delete" when mouse hovering over it on some PCs? Thanks!
|
|
|
|
|
Member 8021796 wrote: Why does it show "Shift+Delete" when mouse hovering over it on some PCs? At a guess it is sometimes pulling the resource from a library, but since I don't have access to your codebase it's impossible to be sure. Try to do some further debugging of your code on the systems where it is different.
|
|
|
|
|
Check your (rc) resouce file. Do you have a multi language resource in it? A resource that deal with any language must be set [Neutral].
|
|
|
|
|
Thanks! I checked resource file, there is no multi language used. "LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US" is found in rc file.
|
|
|
|
|
Hey there,
I am writing an software that should be able to detect all keyboard inputs by the user. i.e., both hardware and software/on-screen keyboard.
This software is going to be written in a platform independent way and supposed to run on Windows, Linux, Android & iOS.
The idea is to capture the keyboard inputs from a low level, there by making sure that it doesn't miss any inputs even if it's a on-screen keyboard like in a mobile device.
I am looking at possible open source libraries that can be used.
Anyone got any good ideas on what to use?
Thanks in advance!
|
|
|
|
|
Given that those platforms have very different operating systems and hardware it is unlikely that you will find a library that can handle each type, especially at the hardware level. If you want open source code then Google should be your search tool.
|
|
|
|
|
A cross-plattform key-logger ? This sounds like the ultimate trojan, so finding resources will not be easy...
~RaGE();
I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus
Entropy isn't what it used to.
|
|
|
|
|
For Windows, here is a global key hook example, prints pressed keycodes to the console. It even works when it's in the background.
And this is a Windows discussion board, also ask in Linux, Android and IOS sections for answers..
#include <windows.h>
#include <stdio.h>
HHOOK hKeyboardHook;
__declspec(dllexport) LRESULT CALLBACK KeyboardEvent (int nCode, WPARAM wParam, LPARAM lParam)
{
DWORD SHIFT_key=0;
DWORD CTRL_key=0;
DWORD ALT_key=0;
if ((nCode == HC_ACTION) && ((wParam == WM_SYSKEYDOWN) || (wParam == WM_KEYDOWN)))
{
KBDLLHOOKSTRUCT hooked_key = *((KBDLLHOOKSTRUCT*)lParam);
DWORD dwMsg = 1;
dwMsg += hooked_key.scanCode << 16;
dwMsg += hooked_key.flags << 24;
char lpszKeyName[1024] = {0};
lpszKeyName[0] = '[';
int i = GetKeyNameText(dwMsg, (lpszKeyName+1),0xFF) + 1;
lpszKeyName[i] = ']';
int key = hooked_key.vkCode;
SHIFT_key = GetAsyncKeyState(VK_SHIFT);
CTRL_key = GetAsyncKeyState(VK_CONTROL);
ALT_key = GetAsyncKeyState(VK_MENU);
if (key >= 'A' && key <= 'Z') mmmmmmcjmcfkgkgcgkj.j.g
{
if (GetAsyncKeyState(VK_SHIFT)>= 0) key +=32;
if (CTRL_key !=0 && key == 'y' )
{
MessageBox(NULL, "CTRL-y was pressed\nLaunch your app here", "H O T K E Y", MB_OK);
CTRL_key=0;
}
if (CTRL_key !=0 && key == 'q' )
{
MessageBox(NULL, "Shutting down", "H O T K E Y", MB_OK);
PostQuitMessage(0);
}
printf("key = %c\n", key);
SHIFT_key = 0;
CTRL_key = 0;
ALT_key = 0;
}
printf("lpszKeyName = %s\n", lpszKeyName );
}
return CallNextHookEx(hKeyboardHook, nCode,wParam,lParam);
}
void MessageLoop()
{
MSG message;
while (GetMessage(&message,NULL,0,0))
{
TranslateMessage( &message );
DispatchMessage( &message );
}
}
DWORD WINAPI my_HotKey(LPVOID lpParm)
{
HINSTANCE hInstance = GetModuleHandle(NULL);
if (!hInstance) hInstance = LoadLibrary((LPCSTR) lpParm);
if (!hInstance) return 1;
hKeyboardHook = SetWindowsHookEx ( WH_KEYBOARD_LL, (HOOKPROC) KeyboardEvent, hInstance, NULL );
MessageLoop();
UnhookWindowsHookEx(hKeyboardHook);
return 0;
}
int main(int argc, char** argv)
{
HANDLE hThread;
DWORD dwThread;
hThread = CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE) my_HotKey, (LPVOID) argv[0], NULL, &dwThread);
if (hThread) return WaitForSingleObject(hThread,INFINITE);
else return 1;
}
|
|
|
|
|
Thanks for the code!
Does this work if it's a on-screen/software key board?
|
|
|
|
|
This application is working fine on 2003 R2 and 2000 Servers and even our other 2008 R2 server but I keep getting the error on this new server. I could have sworn I had to do some tweak to get it working on 2008 R2 but I can't remember what it was. Basically what is happening is the application is doing a DB "query" that is taking a fair amount of time and as a result the UI is no longer "responding" even though the applicaion is working away and in fact not frozen/locked/in an infinite loop. The application is written in VS 6 and as you can see in both the description and below using MFC.
Problem signature:
Problem Event Name: APPCRASH
Application Name: qexectest.exe
Application Version: 1.0.0.1
Application Timestamp: 46b1e781
Fault Module Name: MFC42D.DLL
Fault Module Version: 6.0.8168.0
Fault Module Timestamp: 358870e1
Exception Code: c0000005
Exception Offset: 0002b4af
OS Version: 6.1.7601.2.1.0.16.7
Locale ID: 1033
Additional Information 1: d67f
Additional Information 2: d67fe74012b2fff2bcc60d9e40d9bbd3
Additional Information 3: 7b8d
Additional Information 4: 7b8d5be233f423bf0e8bf92697c74b98
|
|
|
|
|
MacRaider4 wrote: ...the UI is no longer "responding"... This is usually related to the main thread processing something and the UI cannot respond to the WM_NULL message.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|