PDA

View Full Version : مبتدی: انتقال متن از یک برنامه vb6 به یک تکست بکاس در یک برنامه vb6 دیگر



ameri110
جمعه 22 مرداد 1389, 23:09 عصر
سلام
من این برنامه "1" رو دارم و می خواهم یه مقداری از یک برنامه بهش وارد کنم
اسم تکست باکس ها در برنام "1" به ترتیب Text1 , Text2, Text3 می باشد
این کار به خاطر اینه که تکست 3 فعال نیست
راستی یک نمونه برنامه هم دارم که نتونستم ازش استفاده کنم شاید بدرد شما بخوره

ayub_coder
شنبه 23 مرداد 1389, 14:35 عصر
اگه تکست 3 غیر فعال باشه و بخوای یه مقداری بهش بدی باید از windows api استفاده کنی
sendmessage
موفق باشی

ameri110
شنبه 23 مرداد 1389, 19:03 عصر
اگه تکست 3 غیر فعال باشه و بخوای یه مقداری بهش بدی باید از windows api استفاده کنی
sendmessage
موفق باشی
اگه امکانش هست بیشتر توضیح بدید

Saman_12
شنبه 23 مرداد 1389, 19:30 عصر
سلام.
API SndMassage یک از API های موجود در User32 هست که میتونه پیغامی رو ارسال کنه.(این پیغام می تونه پیغام بستن غیر فعال کردن پاک کردن تهیه کردن یا نوشتن یک مقدار باشه البته به این چهار تا پیغامی که می گم محدود نمی شه . تعداد شون زیاده)
این نحوه دیکالر این API :

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
hwnd که معلومه هندل شئ یا پنجره مورد نظره.
wMsg هم پیغامی هست که قراره ارسال بشه.
wparam و iparam رو هم درست نمی دونم
خروجی تابع هم در صورتی که تابع با خطایی رو برو نشده باشده عددی جز 0 خواهد بود.
اما کاری که شما می خواین بکنین :


Const WM_SETTEXT = &HC
Dim Str As String
Dim r As Integer
Str = "Your Text"
r = SendMessage(Handle, WM_SETTEXT, 0, Str)

خوب توی کد بالا Handle هندل تکست باکس یا شی مورد نظره.
WM_SETTEXT هم یکی از پیغام های ویندوز هست.(این پیفام یک مقدار رشته ای رو ارسال می کنه.)
Str که معلومه خود رشته هست.
البته این کار شما به یه API دیگه هم قابل انجامه اگه خواستین بگین یه توضیح در مورد اون هم بدم.:لبخند:

ameri110
دوشنبه 25 مرداد 1389, 18:32 عصر
پس اگه زحمتی نست بفرمایید
ترجیحا یه فایل مثال رو هم بزارید چون من زیاد از این ای پی آی و این حرف سر در نمیارم