الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]استعمال Listeview

بدأه aderfiad في 31 أكتوبر 2009 · 7 رد · 864 مشاهدة · في أرشيف قسم الـــ Assembly
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

ارجو منكم شباب سورس لاستعمال Listeview مع Dialog باستعمال WinAsm

دون ارسال اي شيئ لها فقط ان تضهر Colone

متلا

PROCESS       ID         HANDLE

حاولت معها اكتر من مرة وبعدة طرق ولم انجح

وجدت شرحا في موقعwin32assembly.online.fr لكنه ينشئها مباشرة بدون ريسورس

انا انشئها بواسطة Winasm

واقوم بجلب مقبضها بالدالة getdlgitem وامرر لها الرسالة LVM_INSERTCOLUMN

لكنها لا تستجيب عند اقلاع dialog تضهر فارغة

والله اكتر من اسبوعين وانا احاول استعمالها عوض Listebox في برنامجي ولم انجح

لو امكن متال بسيط فقط ان تضهر

PROCESS       ID        HANDLE

تم تعديل هذه المشاركة بواسطة aderfiad في 31 أكتوبر 2009 في 21:52

#2

ابحث وحمل سورس كود Process Detective من هذا القسم وستجد ما تريد في الكود .

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#3

لدي سورس البرنامج اخي اطلعت عليه يوم قمت بوضعه في موقع الفريق العربي للهندسة العكسية

اخدت منه بعض النقاط لكن ListeView والله لم تنجح معي . اطلعت على سورسات عديدة بها ListeView ولم انجح بعد في عملها :wacko:

لن افهمها الا بمتال بسيط لا يحتوي سوى على liste view + dialog بها 3 او 4 COLONE

ارجو ان تعمل لي متال بسيط فالامر سهل لديك :P

تم تعديل هذه المشاركة بواسطة aderfiad في 1 نوفمبر 2009 في 04:05

#4

المرجو المساعدة شباب ، الامر بسيط عليكم

#5

تأكد من انك قمت بجعل LVS_LIST = NO و LVS_REPORT = YES من الـStyle الخاص بالـListView في الـresource editor الخاص بـWinAsm .

جرب بعد التعديل على نفس الكود القديم الخاص بك .

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#6

اوكي اخي GM ساجرب وان لم تنجح ساضع الكود هنا

#7

بارك الله فيك اخي لقد نجحت الان وكان الخطأ في الخاصيتين LVS_REPORT & LVS_LIST كانت الاولى yes والتانية no

وهدا الكود الدي استعمل

.386
.model flat,stdcall
option casemap:none

include windows.inc
include kernel32.inc
include user32.inc
include comctl32.inc

includelib kernel32.lib
includelib user32.lib
includelib comctl32.lib




DlgProc		 PROTO :HWND,:UINT,:WPARAM,:LPARAM
InsertColumn	PROTO
.const

IDD_DLG1001 equ 1001
ListeView   equ 1005


.data?

hInstance HINSTANCE ?
hList dd ?

.data
CLM1  db "PROCESS",0
CLM2  db "ID",0

.code
start:

	   invoke GetModuleHandle,NULL
	   mov hInstance,eax
	   invoke InitCommonControls
	   invoke DialogBoxParam,hInstance,1001,NULL,addr DlgProc,NULL 
	   invoke ExitProcess,eax 


DlgProc proc hWnd:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM 



			 mov eax,uMsg
			 .if eax==WM_INITDIALOG
			 invoke GetDlgItem,hWnd,1005
			 mov hList,eax

			invoke InsertColumn 


		   .elseif eax == WM_COMMAND



		  .elseif eax == WM_CLOSE
		  invoke EndDialog,hWnd,0	 


	.endif
	xor eax,eax
	ret
DlgProc endp

InsertColumn proc

  LOCAL lvc:LV_COLUMN

  mov lvc.imask,LVCF_TEXT+LVCF_WIDTH
  mov lvc.pszText,offset CLM1
  mov lvc.lx,150
  invoke SendMessage,hList, LVM_INSERTCOLUMN, 0, addr lvc
  or lvc.imask,LVCF_FMT
  mov lvc.fmt,LVCFMT_RIGHT
  mov lvc.pszText,offset CLM1
  mov lvc.lx,100
  invoke SendMessage,hList, LVM_INSERTCOLUMN, 1 ,addr lvc
  ret
InsertColumn endp 

end start
#8

 سؤال اخير اخي GM

كيف يمكن اسناد الاسطر الى LisreView اقصد ان تكون عبارة عن خانات ( ما هي الرسالة التي ارسلها لها )

هكدا

http://www.c-sharpcorner.com/UploadFile/sk...istViewImg1.gif

وليس هكدا

http://www.recursosvisualbasic.com.ar/htm/...archivo-txt.gif

طبعا المعنى واضح .

وكيف ارسل اللون للسطر

متلا اريد السطر الموالي ان يكون اخضر ويبقا تدريجيا ( اخضر ابيض اخضر ابيض اخضر ..... )

تم تعديل هذه المشاركة بواسطة aderfiad في 1 نوفمبر 2009 في 20:53

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…