开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2145|回复: 10
收起左侧

[精币悬赏] 将这段代码翻译成易语言

[复制链接]
结帖率:100% (9/9)
发表于 2013-8-8 12:16:42 | 显示全部楼层 |阅读模式   广东省深圳市
#define _WIN32_WINNT 0x0501
#define WINVER 0x0501

#include <windows.h>
#include <commctrl.h>
#include <stdio.h>
#include <gdiplus.h>
using namespace Gdiplus;
#pragma comment(lib, "gdiplus.lib")
#pragma comment(lib, "Ole32.lib")

#pragma comment(lib, "user32.lib")
#pragma comment(lib, "comctl32.Lib")
#pragma comment(lib, "gdi32.Lib")

#pragma comment(linker, "\"/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='X86' publicKeyToken='6595b64144ccf1df' language='*'\"")

#define TIMER_REBAR 4001
HINSTANCE g_hInst;
HBITMAP g_hbmBall = NULL;
RECT g_rcTrayWnd;
RECT g_rcRebar;
HWND g_trayWnd;
HWND g_rebar;
LRESULT CALLBACK WindowFunc(HWND,UINT,WPARAM,LPARAM);

TCHAR szWinName[] = TEXT("MyWin");

int WINAPI WinMain(HINSTANCE hThisInst,HINSTANCE hPrevInst,LPSTR lpszArgs,int nWinMode)
{
        HRESULT hRes = ::CoInitialize(NULL);
        GdiplusStartupInput gdiplusStartupInput;
        ULONG_PTR gdiplusToken;
        GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);

        HWND hwnd;
        MSG msg;
        WNDCLASSEX wcl;
        INITCOMMONCONTROLSEX ic;
        BOOL ret;

        g_hInst = hThisInst;
        ic.dwSize = sizeof(INITCOMMONCONTROLSEX);
        ic.dwICC = 0x00004000;//ICC_STANDARD_CLASSES|ICC_BAR_CLASSES;
        ret = InitCommonControlsEx(&ic);
        wcl.cbSize = sizeof(WNDCLASSEX);
        wcl.hInstance = hThisInst;
        wcl.lpszClassName = szWinName;
        wcl.lpfnWndProc = WindowFunc;
        wcl.style = CS_DBLCLKS;//CS_HREDRAW|CS_VREDRAW
        wcl.hIcon = LoadIcon(NULL,IDI_APPLICATION);
        wcl.hIconSm = NULL;
        wcl.hCursor = LoadCursor(NULL,IDC_ARROW);
        wcl.lpszMenuName = NULL;
        wcl.cbClsExtra = 0;
        wcl.cbWndExtra = 0;
        wcl.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);
        if(!RegisterClassEx(&wcl)) return 0;
        g_trayWnd = ::FindWindow("Shell_TrayWnd", NULL);
        GetWindowRect(g_trayWnd, &g_rcTrayWnd);
        hwnd = CreateWindowEx(
                0x00080080,
                szWinName,
                TEXT("Window Title"),
                0x16080000,
                CW_USEDEFAULT,
                CW_USEDEFAULT,
                120,
                150,
                HWND_DESKTOP,//HWND_DESKTOP
                NULL,
                hThisInst,
                NULL
                );

        ::SetLayeredWindowAttributes( hwnd, RGB(0,0,255), 200, ULW_ALPHA|ULW_COLORKEY);
        ShowWindow(hwnd,SW_SHOW);
        UpdateWindow(hwnd);


        g_rebar = ::FindWindowEx(g_trayWnd, NULL, "ReBarWindow32", NULL);
        GetWindowRect(g_rebar, &g_rcRebar);
        ::SetWindowPos(g_rebar, NULL, g_rcTrayWnd.left+112, 0,   
                g_rcRebar.right - g_rcTrayWnd.left-112, g_rcRebar.bottom - g_rcRebar.top,   
                SWP_NOZORDER|SWP_NOACTIVATE);
        SetTimer(hwnd,TIMER_REBAR,50,(TIMERPROC)NULL);  
        while(GetMessage(&msg,NULL,0,0))
        {
                TranslateMessage(&msg);
                DispatchMessage(&msg);
        }

        GdiplusShutdown(gdiplusToken);
        ::CoUninitialize();
        return msg.wParam;
}
LRESULT CALLBACK WindowFunc(HWND hwnd,UINT message,WPARAM
        wParam,LPARAM lParam)
{
        static UINT s_uTaskbarRestart;
        HDC hdc;
        PAINTSTRUCT ps;

        switch(message){
        case WM_CREATE:
                s_uTaskbarRestart = RegisterWindowMessage(TEXT("TaskbarCreated"));
                g_hbmBall =  (HBITMAP)LoadImage(0,"back.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
                return 0;
        case WM_SIZE:
                return 0;
        case WM_ERASEBKGND:
                return 0;
        case WM_PAINT:
                hdc = BeginPaint(hwnd, &ps);
                {
                        //BITMAP bm;
                        //HDC hdcMem = CreateCompatibleDC(hdc);
                        //HBITMAP hbmOld = (HBITMAP)SelectObject(hdcMem, g_hbmBall);
                        Graphics g( hdc );
                        Image img(L"μ×í&#188;.png");
                        g.DrawImage( &img, 0, 0);


                        //GetObject(g_hbmBall, sizeof(bm), &bm);
                        //BitBlt(hdc, 0, 0, bm.bmWidth, bm.bmHeight, hdcMem, 0, 0, SRCCOPY);
                        //SelectObject(hdcMem, hbmOld);
                        //DeleteDC(hdcMem);
                }
                EndPaint(hwnd, &ps);
                return 0;
        case WM_MOUSELEAVE:
                return FALSE;
        case WM_MOUSEMOVE:
                return FALSE;
        case WM_TIMER:
                {
                        RECT rc;
                        GetWindowRect(g_rebar, &rc);
                        if (rc.left != g_rcTrayWnd.left+112)
                        {
                                ::SetWindowPos(g_rebar, NULL, g_rcTrayWnd.left+112, 0,   
                                        rc.right - g_rcTrayWnd.left-112, rc.bottom - rc.top,   
                                        SWP_NOZORDER|SWP_NOACTIVATE);
                        }
                }
                return FALSE;
        case WM_DESTROY:
                KillTimer(hwnd,TIMER_REBAR);
                PostQuitMessage(0);
                return 0;
         default:
    if(message == s_uTaskbarRestart)
    {
            RECT rc;
                        GetWindowRect(g_rebar, &rc);
                        if (rc.left != g_rcTrayWnd.left+112)
                        {
                                ::SetWindowPos(g_rebar, NULL, g_rcTrayWnd.left+112, 0,   
                                        rc.right - g_rcTrayWnd.left-112, rc.bottom - rc.top,   
                                        SWP_NOZORDER|SWP_NOACTIVATE);
                        }
          }
        }
        return DefWindowProc(hwnd,message,wParam,lParam);
}

结帖率:100% (9/9)

签到天数: 21 天

 楼主| 发表于 2013-8-8 14:26:16 | 显示全部楼层   广东省深圳市
时年 发表于 2013-8-8 12:49
基本能理解   GDI+类的玩意  翻译成E需要核对一些API命令  不过不算特别难

那你帮我在命令后面注释下,我自己写易的。
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)
发表于 2013-8-8 13:34:05 | 显示全部楼层   吉林省四平市
还是要出钱才有人帮你  的说
回复 支持 反对

使用道具 举报

结帖率:90% (9/10)
发表于 2013-8-8 12:57:21 | 显示全部楼层   广东省江门市
这个挺简单的。。。。。但我也不会
回复 支持 反对

使用道具 举报

结帖率:100% (8/8)
发表于 2013-8-8 12:54:41 | 显示全部楼层   广东省东莞市
对于幼儿园来说的大学题。。。
回复 支持 反对

使用道具 举报

结帖率:100% (14/14)
发表于 2013-8-8 12:53:51 | 显示全部楼层   广东省广州市
看着鸟语就头晕
回复 支持 反对

使用道具 举报

结帖率:88% (23/26)
发表于 2013-8-8 12:49:22 | 显示全部楼层   江苏省宿迁市
有点长,精币应该没有人会帮你的吧……
回复 支持 反对

使用道具 举报

结帖率:75% (6/8)
发表于 2013-8-8 12:49:02 | 显示全部楼层   四川省内江市
基本能理解   GDI+类的玩意  翻译成E需要核对一些API命令  不过不算特别难
回复 支持 反对

使用道具 举报

结帖率:17% (1/6)
发表于 2013-8-8 12:28:32 | 显示全部楼层   广东省惠州市
翻译有点难!!!你你去定制区问!!出钱应该有人会!
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)
发表于 2013-8-8 12:18:37 | 显示全部楼层   湖南省长沙市
我还是路过把......
看不懂
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表