Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

版权申明
查看: 6151|回复: 0

请帮忙转换这几行C代码为PAS

[复制链接]

该用户从未签到

发表于 2009-7-12 07:08:50 | 显示全部楼层 |阅读模式
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif

#include <vlc_common.h>
#include <vlc_aout.h>
#include <vlc_interface.h>
#include <vlc_playlist.h>

#include "wince.h"

#include <commctrl.h>
#include <commdlg.h>
#include <shlobj.h>

/* Dialogs Provider */
class DialogsProvider: public CBaseWindow
{
public:
/* Constructor */
DialogsProvider( intf_thread_t *, CBaseWindow *, HINSTANCE = 0 );
virtual ~DialogsProvider();

protected:
virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );

private:

void OnExit( void );
void OnIdle( void );
void OnPlaylist( void );
void OnMessages( void );
void OnFileInfo( void );
void OnPreferences( void );
void OnPopupMenu( void );

void OnOpen( int, int );
void OnOpenFileSimple( int );
void OnOpenDirectory( int );
void OnOpenFileGeneric( intf_dialog_args_t * );

/* GetOpenFileName replacement */
BOOL (WINAPI *GetOpenFile)(void *);
HMODULE h_gsgetfile_dll;


public:
/* Secondary windows */
OpenDialog *p_open_dialog;
Playlist *p_playlist_dialog;
Messages *p_messages_dialog;
PrefsDialog *p_prefs_dialog;
FileInfo *p_fileinfo_dialog;
};

CBaseWindow *CreateDialogsProvider( intf_thread_t *p_intf,
CBaseWindow *p_parent, HINSTANCE h_inst )
{
return new DialogsProvider( p_intf, p_parent, h_inst );
}
.......................


DialogsProvider:ialogsProvider( intf_thread_t *p_intf,
CBaseWindow *p_parent, HINSTANCE h_inst )
: CBaseWindow( p_intf, p_parent, h_inst )
{
/* Initializations */
p_open_dialog = NULL;
p_playlist_dialog = NULL;
p_messages_dialog = NULL;
p_fileinfo_dialog = NULL;
p_prefs_dialog = NULL;

/* Create dummy window */
hWnd = CreateWindow( _T("VLC WinCE"), _T("DialogsProvider"), 0,
0, 0, CW_USEDEFAULT, CW_USEDEFAULT,
p_parent->GetHandle(), NULL, h_inst, (void *)this );

GetOpenFile = 0;
h_gsgetfile_dll = LoadLibrary( _T("gsgetfile") );
if( h_gsgetfile_dll )
{
GetOpenFile = (BOOL (WINAPI *)(void *))
GetProcAddress( h_gsgetfile_dll, _T("gsGetOpenFileName") );
}

if( !GetOpenFile )
GetOpenFile = (BOOL (WINAPI *)(void *))::GetOpenFileName;
}

DialogsProvider::~DialogsProvider()
{
/* Clean up */
delete p_open_dialog;
delete p_playlist_dialog;
delete p_messages_dialog;
delete p_fileinfo_dialog;
delete p_prefs_dialog;

if( h_gsgetfile_dll ) FreeLibrary( h_gsgetfile_dll );
}


请帮助转换下红色的部分,谢谢,附上 完整的C代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册(注册审核可向QQ群索取)

x
回复

使用道具 举报

*滑块验证:

本版积分规则

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1 )

GMT+8, 2025-5-2 23:25 , Processed in 0.132443 second(s), 11 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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