TCPMP播放器UI的修改方法

本文介绍了如何修改TCPMP播放器的用户界面,主要涉及Win_Init()函数中的WinClass和DialogClass注册,以及消息处理函数Proc。通过直接修改TCPMP工程的interface,实现了UI界面的定制,包括背景图片的贴图和控件外观的调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

    前段时间对TCPMP程序进行了研究,花了点时间把TCPMP程序的UI修改成了自已想要的样子,现对UI的修改方法简单介绍下:

    网上有文章对于TCPMP程序在ARMV4下的编译方法和程序的结构介绍比较详细,但对于inteface方面的修改方法讲得并不多.

    修改TCPMP界面基本上有两种方法:

1)     建立自已的工程,TCPMP下的lib移植到这个工程里,这样界面的修改比较灵活,但是工作量比较大;

2)     直接在TCPMP工程里修改interface,这样工作量相对比较小,但是UI的修改受了定的约束, 没有前种方法灵活.

    本人所修改的UI是按照第二种方法来做的.主要是对win_win32.c文件和inteface.c 文件进行修改.

   首先,我们来看看win_win32.c文件里的Win_Init()函数,这个函数可以看作是TCPMP UI部分的一个入口,在这个函数里注册了两个窗口类,WinClassDialogClass.另外还调用了其它控件的初始化函数,下面是这个函数的代码.

 

    在此函数中我们需要注意    WinClass.lpfnWndProc= Proc;   Proc是消息处理函数名.实际上所有的消息处理都是在static LRESULT CALLBACK Proc(HWND Wnd, UINT Msg, WPARAM wParam, LPARAM lParam)函数里完成的.

下面对此函数中比较重点的消息作下说明:

    WM_CREATE消息里主要是建立播放的窗口;

   WM_PAINT消息里可以贴上UI的背景图片,这样使UI看上去比较美观.贴图部分程序如下:

 

         WM_COMMAND消息是所有菜单 ,按钮等点击后处理的入口点,具体的实现在interface.c里的static int Command(intface* p,int Cmd)函数里来做处理。如播放,暂停,前一首,下一首等.还有其它的一些消息处理在此不做介绍了.

        Interface.c的程序结构和win_win32.c  基本差不多,其中最主要的也是static bool_t Proc(intface* p, int Msg, uint32_t wParam, uint32_t lParam, int* Result)函数对消息的处理.在此函数的WM_CREATE消息里可以建立起各种控件的消息处理.然后分别在各控件的消息处理函数里通过上面贴bitmap图片的方式来改变控件的外观.

         其实对于TCPMP程序UI部分的修改,最主要的还是要读懂源代码.在读懂源代码的基础上再结合Win32程序的结构来修改界面还是比较容易的.

        下面Show一下我做的界面吧!

 TCPMP 播放器UI

 

 

 

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值