# Native Code > برنامه نویسی با C > برنامه نویسی GTK، GTK+‎ و wxWidget >  گذاشتن acceleration برای یک ویجت

## oxygenws

سلام،

تا جایی که من می دونم میشه برای label مقداری بای accelerate کردن گذاشت که اونم با mnemonic انجام میشه.

حالا اگر ما مثلا یک دکمه داشته باشیم که label نداشته باشه و فقط یک تصویر داشته باشه، چطوری میشه mnemonic براش گذاشت؟!

ممنون و موفق باشید.

----------


## Milad

ها ؟
سوالت شبیه سوال های درسی شده :P
یعنی می خواهی که یک accelerate واسه label ات بسازی ولی نمی تونی مثلا تایپ کنی :
he_llo 
درسته ؟

----------


## sh_roohani

سلام،

نه عزیز برادر.

می گه مثلا اگه یه کلید گرافیکی باشه، هیچ متنی روش نباشه، که دیگه نمی تونی واسه یه کاراکترت خط زیر بذاری تا بشه Shortcut اون کلید. اونوقت چطوری می شه یه Shortcut به اون کلید نسبت داد.

نمی دونما! شایدم منظورش این نبود. :لبخند گشاده!:

----------


## حامد مصافی

Label کلید ترکیبی سریع قبول نمی کنه.
و همینطور سایر کلاس های static
 accelerate رو فقط به کنترلی که قابلیت کلیک داشته باشه میشه نسبت داد

----------


## hamid206

خوب[/url] فکر کنم یکم دیر شده جواب به این سوال ولی خوب حالا می گم در اینده کسی اومد یه سودی ببره . accelerate با mnemonic تفاوت داره و دو چیز متفاوت هست . از accelerate اکثرا در منوها استفاده می شه و کلیدی های دسترسی سریع رو نشون میده که در سمت راست منو ایتم نوشته و هر کلید ترکیبی می تونه باشه ولی mnemonic تنها از حروفی می تونه باشه که در متن ایتم استفاده شده و محدود تر هست . برای یک ایتم میشه چندین   accelerate key تعریف کرد ولی برای هر ایتم تنها میشه یک mnemonic تعریف کرد و اما سوال دوست عزیزمون شما می تونی برا قرار دادن عکس بر روی دکمه از استوک ایتم ها استفاده کنی که هم متن و هم عکس رو به دکمه اضافه می کنن و دارای   mnemonic هم هستند ولی اگه خواستی عکس دلخواهت رو رو دکمه قرار بدی می تونی از تابع زیر برا کلید استفاده کنی gtk_widget_add_accelerator(GTK_WIDGET(name) , const gchar *accel_signal , GTK_ACCEL_GROUP(accel_group) , guint accel_key , GdkModifierType accel_mods , GtkAccelFlags accel_flags ) ;
خوب حالا کاربر از کجا باید بفهمه که چه کلیدی رو باید فشار بده ؟ می تونی کنارش یه label درست کنی توش بنویسی یا اینکه با یه hbox تو خود دکمه یه تصویر و یه label قرار بدی و راه های دیگه ای هم هست خودت برو دنبالش ............. 
در مورد اینکه label کلید ترکیبی قبول نمی کنه چون قابلیت کلیک نداره هم شما می تونید یه eventbox درست کنی اون رو به label وصل کنی و هر روی دادی خواستی به eventbox نسبت بدی اون هم انتقال می ده به label 
...

----------

